我正在研究一个(大概)较旧的Django教程,并注意到我的模型的自定义管理类位于models.py中。在其他教程中,它们位于admin.py中。我的自定义管理员工作正常,所以我想知道为什么以后Django教程将管理类提取到一个单独的admin.py文件中?
答案 0 :(得分:1)
admin.py
是存储管理类的更规范的方式。正如ModelAdmin
文档所示:
ModelAdmin类是管理界面中模型的表示。它们存储在应用程序中名为
admin.py
的文件中。
过去可能有所不同,或者您的特定教程可能决定以不同的方式做事。无论哪种方式,最好将管理类移至admin.py
。
答案 1 :(得分:1)
在models.py中使用admin类的任何教程都不遵循约定。 Django 1.0中的admin.py模块was introduced。
在Django 1.0之前,您在模型中定义了一个内部Admin类。任何教程都是完全过时的,应该避免使用。