为什么我的模型没有显示在django管理站点中?

时间:2019-12-12 21:00:48

标签: django django-models django-admin

我制作了许多模型,但在制作模型时却忘记了注册,在意识到自己没有注册模型之后,我便按照常规方式去注册了它们(如下所示)。我已经删除了数据库和所有迁移(包括__pycache__),但是还没有删除内部项目文件夹(包含__pycache__)中的settings.py,因为我不知道那会不会引起问题。我已经尝试过使用admin.register(Comment,admin),但是那没有用,而且正如您所知,这不是必需的。我不确定我还需要提供什么其他信息,所以请让我知道您还需要知道什么。众所周知,我在'django.contrib.admin'中有'django.contrib.sites'INSTALLED_APPS,在项目级path('admin/', admin.site.urls)中也有urls.py

admin.register(PicturePost)
admin.register(VideoPost)
admin.register(TextPost)
admin.register(Comment)
admin.register(Report)

2 个答案:

答案 0 :(得分:0)

admin.register是修饰符,应应用于自定义ModelAdmin类,而不是可用于注册模型的函数。

您需要改用admin.site.register

admin.site.register(PicturePost)

答案 1 :(得分:0)

请使用以下代码,因为您没有使用正确的方法注册模型。 admin.register是ModelAdmin类的方法装饰器。

admin.site.register(PicturePost)
admin.site.register(VideoPost)
admin.site.register(TextPost)
admin.site.register(Comment)
admin.site.register(Report)