2016-09-12 80 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

相关问题