字段不显示在 django 管理中
Fields Don't show in django admin
字段不显示在 django 管理中
尝试通过 django admin 添加角色时,它不显示字段
class Role(Core):
role = models.CharField(max_length=25, unique=True, editable=False)
def save(self, *args, **kwargs):
self.role = self.role.lower()
super(Role, self).save(*args, **kwargs)
def __str__(self):
return self.role.capitalize()
admin.site.register(Role)
class Core(models.Model):
id = models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
enter image description here
id
是数据库给定的(是主键),created_at
和updated_at
是不可编辑项,所以不会显示在表格。
这意味着 role
将是唯一可以使用的字段,但您将其指定为 editable=False
[Django-doc],因此它将 不显示 最多 create/edit 个 Role
对象。
您应该删除 editable=False
部分:
class Role(Core):
# no editable = False ↓
role = models.CharField(max_length=25, unique=True)
def save(self, *args, **kwargs):
self.role = self.role.lower()
super(Role, self).save(*args, **kwargs)
def __str__(self):
return self.role.capitalize()
字段不显示在 django 管理中 尝试通过 django admin 添加角色时,它不显示字段
class Role(Core):
role = models.CharField(max_length=25, unique=True, editable=False)
def save(self, *args, **kwargs):
self.role = self.role.lower()
super(Role, self).save(*args, **kwargs)
def __str__(self):
return self.role.capitalize()
admin.site.register(Role)
class Core(models.Model):
id = models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
enter image description here
id
是数据库给定的(是主键),created_at
和updated_at
是不可编辑项,所以不会显示在表格。
这意味着 role
将是唯一可以使用的字段,但您将其指定为 editable=False
[Django-doc],因此它将 不显示 最多 create/edit 个 Role
对象。
您应该删除 editable=False
部分:
class Role(Core):
# no editable = False ↓
role = models.CharField(max_length=25, unique=True)
def save(self, *args, **kwargs):
self.role = self.role.lower()
super(Role, self).save(*args, **kwargs)
def __str__(self):
return self.role.capitalize()