2016-04-22 53 views
1

我使用Django 1.6作爲後端,我想要做的就是讓用戶在觀看視頻時編寫他們的評論。我寫的領域如何在後端顯示Django時間戳

datetime = models.DateTimeField(auto_now_add=True) 

在model.py,但在Django的後端,我沒有看到這個專欄,我怎樣才能讓它顯示在我的管理員?謝謝!

+0

你的意思是它在Django admin中不可見? – Mani

+0

是的,我忘記了如何在後端顯示時修改字段名稱,例如,我在model.py中定義了「datetime」,但在後端我們可以將其視爲「日期」 –

回答

2

只需添加readonly_fields選項,你admin.py的:

class CommentAdmin(admin.ModelAdmin): 
    readonly_fields = ('datetime',) 

如果你在你管理類中定義fields選項,還必須添加datetimefields選項:

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

+0

I仍然不明白爲什麼我看不到這個專欄,我們可以在哪裏修改網站管理員的顯示? –

+0

您目前的評論管理員級別如何? – ozren1983

+0

類似於'from django.contrib import admin from myapp.models import * admin.site.register(Comment)' –

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因爲DateTimeFieldauto_now_add=True ARG將被默認爲只讀。