Python 第一次尝试Django(2.0)模型,在进行迁移时导致AttributeError

Python 第一次尝试Django(2.0)模型,在进行迁移时导致AttributeError,python,django,class,oop,django-2.0,Python,Django,Class,Oop,Django 2.0,作为一个完全的初学者,我真的希望我在这里遗漏了一些明显的东西,有经验的人可以很容易地指出我的错误 我正处于创建一些Django模型的第一步,无法解决在尝试进行迁移时遇到的错误。从我的研究来看,这个错误似乎是模糊的。我不知道说没有属性“model”意味着什么 以下是回溯: Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.argv

作为一个完全的初学者,我真的希望我在这里遗漏了一些明显的东西,有经验的人可以很容易地指出我的错误

我正处于创建一些Django模型的第一步,无法解决在尝试进行迁移时遇到的错误。从我的研究来看,这个错误似乎是模糊的。我不知道说没有属性“model”意味着什么

以下是回溯:

Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
utility.execute()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\base.py", line 332, in execute
self.check()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\base.py", line 364, in check
include_deployment_checks=include_deployment_checks,
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\base.py", line 351, in _run_checks
return checks.run_checks(**kwargs)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\checks\registry.py", line 73, in run_checks
new_errors = check(app_configs=app_configs)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\contrib\admin\checks.py", line 22, in check_admin_app
errors.extend(site.check(app_configs))
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\contrib\admin\sites.py", line 79, in check
if modeladmin.model._meta.app_config in app_configs:
AttributeError: 'Book' object has no attribute 'model'
我已经阅读了一些教程,并阅读了我认为可能相关的Django文档,但我仍然缺少一些东西。如有任何想法或一般性建议,将不胜感激

编辑:添加我的admin.py。我对这一切都进行了注释,迁移工作正常,但我在尝试运行另一次迁移时仍然发现相同的错误,以及类似的错误,但不是说没有属性“models”,而是说没有属性“url”


Django的文档很容易通过示例理解

您的admin.py必须与此类似:

from django.contrib import admin
from .models import Author, Book, Narrator, Audiobook
class AuthorAdmin(admin.ModelAdmin):
   fields = ['name']
class BookAdmin(admin.ModelAdmin):
   fields = ['title', 'description', ]

# Register your models here.

admin.site.register(Author, Book)
admin.site.register(Narrator, Audiobook)

您可以查看此处的基本示例以了解。

请尝试逐个注册模型,如下所示:

admin.site.register(Author)
admin.site.register(Narrator)
admin.site.register(Book)
admin.site.register(Audiobook)

这个错误来自管理员:你应该显示你的admin.py.Good spot!我的模特注册不正确。我试图在一行中注册所有参数,但出现了一个错误,即参数太多,所以我将其分为两行,这感觉是错误的,显然是错误的。我仍然需要弄清楚如何注册4个模型,但当我把它全部注释出来时,迁移成功了。谢谢好的,迁移成功了,但是如果我尝试导入的不仅仅是书本模型,我会遇到错误。我可能错过了一些步骤,接下来我会放慢速度,回到文档中。非常感谢您的帮助。如果您有错误,您应该在另一个问题中发布它们。对于管理文件,如果你想同时注册多个模型,你需要将它们放在一个列表中:admin.site.register[作者、书籍、讲述者、有声读物]。@DanielRoseman,你关于将模型放在列表中的建议正是我所需要的。当我只导入图书模型时,manage.py check没有发现任何问题,但在尝试导入其余模型时,我一直返回前面提到的错误。将两个admin.site.register行合并为一个带有列表的行解决了此问题。现在一切都显示在管理员!谢谢你的帮助。
from django.contrib import admin
from .models import Author, Book, Narrator, Audiobook
class AuthorAdmin(admin.ModelAdmin):
   fields = ['name']
class BookAdmin(admin.ModelAdmin):
   fields = ['title', 'description', ]

# Register your models here.

admin.site.register(Author, Book)
admin.site.register(Narrator, Audiobook)
admin.site.register(Author)
admin.site.register(Narrator)
admin.site.register(Book)
admin.site.register(Audiobook)