我知道这有点奇怪,但我在管理面板中看到字段最大长度而不是字段名称,如下所示:
我的型号:
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)
我在这里缺少什么?
任何帮助将不胜感激。
您没有将这些传递给
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)