如何在后端显示Django时间戳

时间:2016-04-22 09:23:57

标签: django django-models timestamp

我使用Django 1.6作为后端,我想做的是让用户在观看视频时写下他们的评论。我写了这个字段

datetime = models.DateTimeField(auto_now_add=True)
在model.py中的

,但在Django后端,我没有看到这个专栏,我怎么能让它在我的管理员中显示?谢谢!

2 个答案:

答案 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默认为只读。