我使用Django 1.6作为后端,我想做的是让用户在观看视频时写下他们的评论。我写了这个字段
datetime = models.DateTimeField(auto_now_add=True)
在model.py中的,但在Django后端,我没有看到这个专栏,我怎么能让它在我的管理员中显示?谢谢!
答案 0 :(得分:3)
只需向管理员添加readonly_fields
选项:
class CommentAdmin(admin.ModelAdmin):
readonly_fields = ('datetime',)
如果您在管理类中定义了fields
选项,则还必须将datetime
添加到fields
选项中:
class CommentAdmin(admin.ModelAdmin):
# display datetime in the changelist
list_display = ('id', 'title', 'datetime')
# display datetime when you edit comments
readonly_fields = ('datetime',)
# optional, use only if you need custom ordering of the fields
fields = ('title', 'body', 'datetime')
admin.site.register(Comment, CommentAdmin)
有关详细信息,请参阅: https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.readonly_fields
答案 1 :(得分:2)
您可以通过将模型的字段添加到ModelAdmin(在模型的应用程序的admin.py中)来设置要在管理中显示的模型字段:
from myapp.models import MyModel
class MyModelAdmin(admin.ModelAdmin):
list_display = ('datetime',)
admin.site.register(MyModel, MyModelAdmin)
要设置字段旁边显示的简短描述,您需要设置字段的verbose_name
,如下所示(在models.py中):
class MyModel(models.Model):
datetime = models.DateTimeField(auto_now_add=True, verbose_name="Uploaded at")
注意:您无需设置readonly_fields
,因为DateTimeField
auto_now_add=True
arg默认为只读。