我已经注册了一些模型以显示在管理区域中,但我希望隐藏一些字段。
作为一个例子,我有一个TeachingClasses模型,其名为“Status”的BooleanField根据类是否打开而设置为True或False。但这是在应用程序的其他地方设置的。当有人想要创建一个新的课程时,不需要在管理区域中显示该字段。
因此,有没有办法在管理区域中隐藏该字段?
我尝试将此添加到应用程序admin.py文件中,但它没有做任何事情
from django.contrib import admin
class MyModelAdmin(admin.ModelAdmin):
class TeachingClasses:
exclude = ('Status',)
但它不起作用?
如果这是正确的方法有任何线索吗?
我的模特:
class TeachingClasses(models.Model):
name = models.Charfield('Class Name',max_lenght=64)
[...]
status = models.BooleanField('Status',default=True)
答案 0 :(得分:13)
您所做的不是正确的语法,您需要:
class TeachingClassesAdmin(admin.ModelAdmin):
exclude = ('status',)
admin.site.register(TeachingClasses, TeachingClassesAdmin)
答案 1 :(得分:0)
在admin.py中:
class TeachingClassesAdmin(admin.ModelAdmin):
list_display = ('name',) # plus any other fields you'd like to display
admin.site.register(TeachingClasses, TeachingClassesAdmin)`