字段不显示在 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_atupdated_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()