对此有任何建议吗?
最初我在Customer():
models.py
课
这就是admin.py
中的代码看起来
from django.contrib import admin
from booknowapp.models import Customer
# Register your models here.
admin.site.register(Customer)
现在我已经为模型添加了两个新类,如何在管理员中注册其他新的两个类以显示在应用程序中?我不确定要使用的语法。
答案 0 :(得分:1)
如果您添加了两个新类型的模型ModelClass1
和ModelClass2
,那么您可以在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
其他两个新课程。
答案 1 :(得分:0)
如果扩展已使用的语法,则只需:
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拥有更多可以利用的功能 - 搜索字段,过滤,自定义字段,自定义操作('激活客户'),您可以在此处阅读 - http://www.djangobook.com/en/2.0/chapter06.html#custom-modeladmin-classes