管理员中缺少模型字段

时间:2019-01-13 21:23:50

标签: django django-models django-admin

我的一个模型的invoice_date字段未显示在我的管理员中。

invoice_date = models.DateField(auto_now=True, auto_now_add=False, null=True, blank=True)

我尝试了以下操作:

  • 给田野打磨
  • 正在运行makemigrations / migrations
  • 重新启动服务器
  • 删除Cookie

我可以成功地写入该字段并从该字段中提取数据,因此该字段似乎已存在并且可以正常运行。我只是在管理员中看不到它。

我的admin.py中没有特殊代码。我刚刚注册了模型

admin.py

from userorders.models import UserCartItem
admin.site.register(UserCart)

欢迎提出任何建议!谢谢!

2 个答案:

答案 0 :(得分:1)

根据Django's documentation

  

按照当前的实现方式,将auto_nowauto_now_add设置为True将导致该字段设置editable=Falseblank=True

您可以通过显式defining it on the ModelAdmin class来规避此问题:

from userorders.models import UserCartItem

class UserCartItemAdmin(admin.ModelAdmin):
    list_display = ['invoice_date']
    fields = ['invoice_date']
    # if you want the field just to visible but not editable
    # readonly_fields = ['invoice_date']


admin.site.register(UserCartItem, UserCartItemAdmin)

答案 1 :(得分:0)

您可以尝试以下操作-

from userorders.models import UserCartItem

class UserCartItemAdmin(admin.ModelAdmin):
   list_display = ['field_name_1', 'field_name_2', 'invoice_date']

admin.site.register(UserCartItem, UserCartItemAdmin)