2016-09-12 120 views
1

我想在這之前的帖子下面的回答: DateTimeField doesn't show in admin system管理面板,顯示date_created和date_updated?

但也許我只是太暗去了解它。

沒有顯示created_at的字段。任何人都可以將我指向正確的方向嗎?

模型

class holding_transaction(models.Model): 
    holdingname = models.ForeignKey(holding, on_delete=models.CASCADE) 
    created_at = models.DateTimeField(auto_now_add=True) 
    updated_at = models.DateTimeField(auto_now=True) 

admin.py

class holding_transactionAdmin(admin.ModelAdmin): 

    readonly_fields = ('created_at',) 

admin.site.register(holding_transaction, holding_transactionAdmin) 

編輯:

+0

您是否嘗試將其添加到'list_display' – jcfollower

回答

1

更新:

這裏是爲我工作稱爲Beatles一個虛構的應用程序的代碼:

甲殼蟲/ models.py:

from django.db import models 

# Create your models here. 

class Person(models.Model): 
    name = models.CharField(max_length=128) 
    created_at = models.DateTimeField(auto_now_add=True) 


    def __str__(self):    # __unicode__ on Python 2 
     return self.name 

甲殼蟲/ admin.py

from django.contrib import admin 

# Register your models here. 

from beatles.models import Person 


@admin.register(Person) 
class PersonAdmin(admin.ModelAdmin): 
    readonly_fields = ('created_at',) 

The answer所提到的問題,指出這是不可能發生的。

不過,如果你想編輯等領域,根據the docs您進行如下操作:

如果你希望能夠修改此字段中,設置auto_now_add以下代替 = TRUE:

For DateField: default=date.today - from datetime.date.today() 
For DateTimeField: default=timezone.now - from django.utils.timezone.now() 

如果你想這些領域只是要顯示,您可以使用following code

class YourModelAdmin(admin.ModelAdmin): 
    readonly_fields = ('created_at', 'updated_at',) 

admin.site.register(YourModel, YourModelAdmin) 
+0

我只是想讓它們顯示出來。我試過你的第二塊,但沒有成功,還有什麼我需要做的應用它? – vandelay

相關問題