Python 如何将models.py中创建的新类添加到admin.py(django)
有什么建议吗 最初我在Python 如何将models.py中创建的新类添加到admin.py(django),python,django,class,Python,Django,Class,有什么建议吗 最初我在models.py中有classCustomer(): 这就是admin.py中的代码的外观 from django.contrib import admin from booknowapp.models import Customer # Register your models here. admin.site.register(Customer) 现在,我已经在模型中添加了两个新类,如何在admin中注册其他两个新类以显示在应用程序中?我不确定要使用的语法。如果您
models.py中有classCustomer():
这就是admin.py
中的代码的外观
from django.contrib import admin
from booknowapp.models import Customer
# Register your models here.
admin.site.register(Customer)
现在,我已经在模型中添加了两个新类,如何在admin中注册其他两个新类以显示在应用程序中?我不确定要使用的语法。如果您添加的两个新模型类是modelclas1
和modelclas2
,则可以在admin.py中注册多个模型,如:
from django.contrib import admin
from booknowapp.models import Customer, ModelClass1, ModelClass2
myModels = [Customer, ModelClass1, ModelClass2] # iterable list
admin.site.register(myModels)
或
您可以为其他两个新类重复admin.site.register
,就像您的Customer
一样。如果您扩展了您已经使用的语法,它将是:
from django.contrib import admin
# wrap the line if it's too long
from booknowapp.models import (
Customer,
SecondModel,
ThirdModel
)
# Register your models here.
admin.site.register(Customer)
admin.site.register(SecondModel)
admin.site.register(ThirdModel)
但是,这将只提供默认的管理模型列表视图,您可能希望对其进行扩展
class CustomerAdmin(admin.ModelAdmin):
"""Specialised admin view for the Customer model."""
# set the fields to display
list_display = ('name', 'address', 'registered')
# register your Customer model, using the CustomerAdmin view
admin.site.register(Customer, CustomerAdmin)
ModelAdmin还有更多的功能,您可以利用这些功能-搜索字段、筛选、自定义字段、自定义操作(“激活客户”),您可以在此处了解这些功能-您可以调用admin.site。每个类注册一次。
。非常感谢Priyank。我已通过Customer、ModelClass1、ModelsClass2 admin.site.register(Customer、ModelClass1、ModelsClass2)我收到一个错误。谢谢你:)谢谢你的建议和雨果的链接。这很有帮助。