Django 管理面板显示字段最大长度而不是字段名称

问题描述 投票:0回答:1

我知道这有点奇怪,但我在管理面板中看到字段最大长度而不是字段名称,如下所示:

我的型号:

class SituationFlag(models.Model):
name=models.CharField(30)
slug=models.SlugField(null=False,blank=True, unique=True,editable=False,max_length=30)
description =models.CharField(200)
cssclass=models.CharField(30)

def __str__(self) -> str:
    return self.name
def save(self,*args,**kwargs):
    self.slug=slugify(self.name)
    super().save(*args,**kwargs)

我还在其他模型中使用具有多对多关系的 SituationFlag 模型,如下所示:

class Subject(models.Model):
title=models.CharField(max_length=200)
description = models.TextField()
is_active=models.BooleanField(default=True)
slug=models.SlugField(null=False,blank=True, unique=True,db_index=True,editable=False,max_length=255)
category=models.ForeignKey(Category,on_delete= models.SET_NULL,null=True)
situation_flag=models.ManyToManyField(SituationFlag)

def __str__(self) -> str:
    return self.title

def save(self,*args,**kwargs):
    self.slug=slugify(self.title)
    super().save(*args,**kwargs)

我在这里缺少什么?

任何帮助将不胜感激。

python django
1个回答
0
投票

您没有将这些传递给

max_length
,而是传递给
verbose_name
。使用 named 参数:

class SituationFlag(models.Model):
    name = models.CharField(max_length=30)
    slug = models.SlugField(
        null=False, blank=True, unique=True, editable=False, max_length=30
    )
    description = models.CharField(max_length=200)
    cssclass = models.CharField(max_length=30)

    def __str__(self) -> str:
        return self.name

    def save(self, *args, **kwargs):
        self.slug = slugify(self.name)
        super().save(*args, **kwargs)
© www.soinside.com 2019 - 2024. All rights reserved.