【发布时间】:2015-02-17 03:17:41
【问题描述】:
我有一个基于来自django-extentions 的TimeStampedModel 的课程:
from model_utils.models import TimeStampedModel
class MyClass(TimeStampedModel):
pass
默认情况下,在管理界面中,created 和 modified 字段不会显示在版本页面 my_app/myclass/id 中。
我尝试了这个技巧来强制在MyClass 的编辑管理页面中显示created 和modified 字段:
from django.contrib import admin
from my_app.models import MyClass
class MyClassAdmin(admin.ModelAdmin):
fields = MyClass._meta.get_all_field_names()
admin.site.register(MyClass, MyClassAdmin)
但这引发了以下异常:
Exception Type: FieldError
Exception Value: Unknown field(s) (modified, created) specified for MyClass. Check fields/fieldsets/exclude attributes of class MyClassAdmin.
知道如何在MyClass 版管理界面中显示created 和modified 字段吗?
注 1: MyClass 是一个有很多字段的模型,包括 ManyToMany 字段。我可以显示除基类TimeStampedModel 中的created 和modified 字段之外的所有字段。
注2:参考的admin页面为一行的编辑页面:my_app/myclass/id
【问题讨论】:
-
你想在哪里查看创建和修改?
-
我想在
MyClass管理页面中显示值。 -
为什么不使用 list_dsiplay 在列表视图中显示它们?
-
事实上我简化了
MyClass的定义。实际上,我有一个ManyToMany字段,list_display不支持。 -
您的问题没有描述多对多字段的问题,那么您的实际问题是什么?你怎么能显示一个ManyToMany字段?或者你如何显示时间戳?
标签: django django-admin django-extensions