我让我的大多数模型继承自:
class TimeStampedModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
get_latest_by = 'updated_at'
像这样:
class Sale(TimeStampedModel):
ip_address = models.GenericIPAddressField(null=True)
# ...
但是,如果我访问/admin/myapp/sale/123/change/
,我只看到ip_address
字段。
我如何还可以查看created_at
和updated_at
字段?可能,而不必指定列表中Sale
的每个字段。
您现在不能显示这些字段,因为当您将auto_now_add
添加到模型中时,它也会将editable=False
设置到字段中。因此,您的字段是只读的。来自文档:
根据当前实现,将auto_now或auto_now_add设置为True将导致字段设置为可编辑=False和空白=True。
要在管理界面中显示任何只读字段,必须在管理视图中添加readonly_fields = ['field_name']
定义,如下所示:
@admin.register(Sale)
class SaleAdmin(admin.ModelAdmin):
readonly_fields = ['created_at','updated_at']