def METHOD_NAME(self, *app_labels, **options):
    def assert_exclusive_options(opt_name, extra=[]):
        prevent = extra + ["dry_run", "merge", "empty", "name", "check_changes"]
        enforce = ["interactive", "include_header"]  # default=True
        if app_labels or any(options[k] for k in prevent) or not all(options[k] for k in enforce):
            raise CommandError(f"{opt_name} does not support other options besides --lock-path")
    self.lock_path = options["lock_path"]
    if options["lock_check"]:
        assert_exclusive_options("--lock-check", ["lock_update"])
        if not self.check_migrations_lock():
            self.stderr.write("Migrations lock file does not match migrations list.")
            sys.exit(1)
        self.stdout.write("Migrations lock file is up-to-date.")
    elif options["lock_update"]:
        assert_exclusive_options("--lock-update", ["lock_check"])
        self.write_migrations_lock()
    else:
        with patch_migration_autodetector(self):
            super().METHOD_NAME(*app_labels, **options)