Django3.2.6:TypeError:“非类型”对象不可调用

2024-05-14 23:11:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我从今年夏天开始学习Django框架。我得到了错误<;TypeError:“非类型”对象不可调用>;。我正试图缩小这个问题的范围。然而,在我删除了很多代码之后,我仍然无法从最简单的代码中理解这一点。我的代码如下所示

admin.py

from django.contrib import admin
from rest_framework.renderers import AdminRenderer

from .models import Car


@admin.site.register(Car)
class CarAdmin(admin.ModelAdmin):
    list_display = ('id', 'brand', 'model')

型号.py

from django.db import models
from django.contrib import admin


class Car(models.Model):
    brand = models.TextField(default='Honda')
    model = models.TextField(default='EK9')

    class Meta:
        db_table = 'car'

    def __str__(self):
        return self.model

错误

LeodeMacBook-Pro:sharky leo$ python ./manage.py runserver
/Users/leo/opt/anaconda3/lib/python3.8/site-packages/environ/environ.py:628: UserWarning: /Users/leo/Documents/python_test/leo_first_python_side_project/sharky/sharky/mysite/.env doesn't exist - if you're not configuring your environment separately, create one.
  warnings.warn(
/Users/leo/opt/anaconda3/lib/python3.8/site-packages/environ/environ.py:628: UserWarning: /Users/leo/Documents/python_test/leo_first_python_side_project/sharky/sharky/mysite/.env doesn't exist - if you're not configuring your environment separately, create one.
  warnings.warn(
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/Users/leo/opt/anaconda3/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/Users/leo/opt/anaconda3/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/leo/django/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/Users/leo/django/django/core/management/commands/runserver.py", line 114, in inner_run
    autoreload.raise_last_exception()
  File "/Users/leo/django/django/utils/autoreload.py", line 87, in raise_last_exception
    raise _exception[1]
  File "/Users/leo/django/django/core/management/__init__.py", line 375, in execute
    autoreload.check_errors(django.setup)()
  File "/Users/leo/django/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/Users/leo/django/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/leo/django/django/apps/registry.py", line 122, in populate
    app_config.ready()
  File "/Users/leo/django/django/contrib/admin/apps.py", line 27, in ready
    self.module.autodiscover()
  File "/Users/leo/django/django/contrib/admin/__init__.py", line 24, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "/Users/leo/django/django/utils/module_loading.py", line 47, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "/Users/leo/opt/anaconda3/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/leo/Documents/python_test/leo_first_python_side_project/sharky/sharky/car/admin.py", line 8, in <module>
    class CarAdmin(admin.ModelAdmin):
TypeError: 'NoneType' object is not callable

环境

asgiref==3.4.1; python_version >= '3.6'
django-environ==0.4.5
django==3.2.6
pytz==2021.1
sqlparse==0.4.1; python_version >= '3.5'

我所拥有的

我在Django&;Python和几十个关于堆栈溢出的问题。 我已经意识到,最常见的解决方案是删除()。 但是,我不调用func。在任何地方 因此,我提出这个问题是为了寻找一些我不理解的错误。谢谢你的建议/建议,帮助我提高


Tags: djangoinpyimportselfadminlineimportlib
1条回答
网友
1楼 · 发布于 2024-05-14 23:11:30

错误来自@admin.site.register(Car) 这是因为它返回None,用None包装CarAdmin相当于执行CarAdmin = None(CarAdmin)

解决方法是使用@admin.register(Car)

相关问题 更多 >

    热门问题