File "/code/manage.py", line 23, in <module>
main()
~~~~^^
File "/code/manage.py", line 19, in main
execute_from_command_line(sys.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/site-packages/django/core/management/__init__.py", line 437, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/core/management/commands/test.py", line 24, in run_from_argv
super().run_from_argv(argv)
~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/core/management/base.py", line 420, in run_from_argv
self.execute(*args, **cmd_options)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/core/management/base.py", line 464, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.14/site-packages/django/core/management/commands/test.py", line 63, in handle
failures = test_runner.run_tests(test_labels)
File "/usr/local/lib/python3.14/site-packages/django/test/runner.py", line 1133, in run_tests
self.run_checks(databases)
~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/test/runner.py", line 1055, in run_checks
call_command("check", verbosity=self.verbosity, databases=databases)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/core/management/__init__.py", line 195, in call_command
return command.execute(*args, **defaults)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/core/management/base.py", line 464, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.14/site-packages/django/core/management/commands/check.py", line 81, in handle
self.check(
~~~~~~~~~~^
app_configs=app_configs,
^^^^^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
databases=options["databases"],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/site-packages/django/core/management/base.py", line 496, in check
all_issues = checks.run_checks(
app_configs=app_configs,
...<2 lines>...
databases=databases,
)
File "/usr/local/lib/python3.14/site-packages/django/core/checks/registry.py", line 89, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/usr/local/lib/python3.14/site-packages/django/core/checks/urls.py", line 16, in check_url_config
return check_resolver(resolver)
File "/usr/local/lib/python3.14/site-packages/django/core/checks/urls.py", line 26, in check_resolver
return check_method()
File "/usr/local/lib/python3.14/site-packages/django/urls/resolvers.py", line 541, in check
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/utils/functional.py", line 47, in __get__
res = instance.__dict__[self.name] = self.func(instance)
~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/urls/resolvers.py", line 729, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/utils/functional.py", line 47, in __get__
res = instance.__dict__[self.name] = self.func(instance)
~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/django/urls/resolvers.py", line 722, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/local/lib/python3.14/importlib/__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 759, in exec_module
File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
File "/code/cure_cabinet/urls.py", line 26, in <module>
path("api/", api.urls),
^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/ninja_extra/main.py", line 112, in urls
_url_tuple = super().urls
^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/ninja/main.py", line 462, in urls
self._get_urls(),
~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/site-packages/ninja/main.py", line 533, in _get_urls
for bound_router in self._get_bound_routers():
~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/site-packages/ninja_extra/main.py", line 120, in _get_bound_routers
bound_routers = super()._get_bound_routers()
File "/usr/local/lib/python3.14/site-packages/ninja/main.py", line 518, in _get_bound_routers
BoundRouter(mount, self) for mount in all_mounts
~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/ninja/router.py", line 114, in __init__
self._bind_operations()
~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.14/site-packages/ninja/router.py", line 132, in _bind_operations
operation._set_auth(self.auth)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/local/lib/python3.14/site-packages/ninja_extra/operation.py", line 84, in _set_auth
if is_async(_call_back) and not self.is_coroutine:
^^^^^^^^^^^^^^^^^
AttributeError: 'AsyncOperation' object has no attribute 'is_coroutine'```
As part of this commit released in django-ninja 1.6.0 the router operations use a clone of the original operations. This means custom attributes added to the overridden Operation class do not get copied into the cloned instance, as the base
clone()avoids calling init to avoid expensive processing.This leads to thr following error: