在Django的admin.py

时间:2016-03-26 19:26:16

标签: django django-forms django-admin

有人可以解释为什么我们在这里使用嵌套元类吗?我理解为什么我们在“https://docs.djangoproject.com/en/1.9/topics/db/models/#meta-options”的model.py中使用Meta类,但我不明白为什么我们在admin.py和forms.py类中使用它,如下所示:

from django.contrib import admin

# Register your models here.
from .models import SignUp

class SignUpAdmin(admin.ModelAdmin):
    list_display = ["__unicode__", "timestamp", "updated"]
    class Meta:
        model = SignUp

admin.site.register(SignUp, SignUpAdmin)

1 个答案:

答案 0 :(得分:2)

您的SignUpAdmin.Meta课程无效。 ModelAdmin不使用Meta类。

您不必为ModelAdmin类指定模型,因为您在注册时指定了模型。实际上,您可以使用不同的模型多次注册相同的管理类。

admin.site.register(SignUp, SignUpAdmin)
admin.site.register(MyOtherModel, SignUpAdmin)

模型表单的Meta类有许多可能的选项。有关详细信息,请参阅the docs