Django - 某些模型在Django-Admin中不可编辑/可创建

时间:2016-08-09 23:42:18

标签: python django django-models

我的一个应用程序中有5个模型

报告ReportData客户..等等

出于某种原因,自从我上次部署以来,我无法再更改或创建新的ReportCustomer个对象,但其他一切都有效吗?知道为什么会这样吗?管理页面只会在add链接上输出任何内容,而change链接也不会输出任何内容。

的Django == 1.9.1

我尝试重新启动服务器,运行迁移并重新启动数据库。开发版本运行正常。这么奇怪的问题。

enter image description here

正如您所看到的,即使此对象已在数据库中填充了大量数据,也没有字段。

这是我的报告模型:

class Report(models.Model):
    public_uuid = models.UUIDField(max_length=256,default=util.make_uuid,unique=True)
    customer = models.ForeignKey('Customer')
    has_payed = models.BooleanField(default=False)
    #... etc

以下是我在admin中注册项目的方法:

admin.site.register(Customer)
admin.site.register(Report)
admin.site.register(...etc)

其他3个型号我工作正常。这两个模型和其他三个模型(可以使用管理工具编辑)之间的唯一区别是这两个模型附加了@property和@staticmethod方法。

1 个答案:

答案 0 :(得分:0)

刚出现这个问题

在字段定义中使用auto_now_add=Trueeditable=False时,管理员不会显示相应的字段,除非您在管理表单定义的readonly_fields中指定它们。

如果是models.py

class TransmissionLog(models.Model):
     dataSource = models.ForeignKey(Browser, editable=False)
     dateCreated = models.DateTimeField(auto_now_add=True, editable=False)

然后admin.py需要

class TransmissionAdminManager(admin.ModelAdmin):
    readonly_fields = ['dataSource', 'dateCreated']
admin.site.register(TransmissionLog, TransmissionAdminManager)