我有两个模型,分别是User和Record。每个都有几个字段。
from django.db import models
class User(models.Model):
openid = models.CharField(max_length=20)
nickname = models.CharField(max_length=20,null=True)
def __str__(self):
return self.nickname
class Record(models.Model):
expression = models.CharField(max_length=100)
user = models.ForeignKey(User)
time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.expression
我在admin.py
注册from django.contrib import admin
from .models import User,Record
class RecordAdmin(admin.ModelAdmin):
list_display = ('expression','user','time')
class UserAdmin(admin.ModelAdmin):
empty_value_display = "空"
list_display = ('openid','nickname')
admin.site.register(User,UserAdmin)
admin.site.register(Record,RecordAdmin)
最初在django admin中运行良好。但是有一天,Record模型的领域变得黯然失色。它看起来像
。
不显示任何字段。它使我无法修改或添加记录模型的值。其他模型用户运行良好,所有数据都存在于数据库中。所以为什么?
答案 0 :(得分:0)
我认为您只需在ForeignKey Field
中添加class Record(models.Model):
expression = models.CharField(max_length=100)
user = models.ForeignKey(User, on_delete=models.CASCADE)
time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.expression
即可。当您使用此类字段时,您必须在此字段上进行更新,删除或其他任何操作时指定合并。
所以你的脚本应该是这样的:
null=True
结果如下:
您还可以default=null
class User(models.Model):
openid = models.CharField(max_length=20)
nickname = models.CharField(max_length=20,default=null)
def __str__(self):
return self.nickname
People