Python 3.x Django forms.ModelForm slugfield db_index=True
我的模型中有一个slug字段Python 3.x Django forms.ModelForm slugfield db_index=True,python-3.x,django,slug,Python 3.x,Django,Slug,我的模型中有一个slug字段db\u index=True: class Student(models.Model): ... slug = models.SlugField(max_length=100, db_index=True) 当通过我的表单添加新记录时,我希望slug字段填充我在模型save()方法中编码的slug文本。然而,这种情况从未发生过,因为我被困在表单字段级别的验证中 我尝试了许多选项,如clean(),clean_field()等,但所有选项都只有在sl
db\u index=True
:
class Student(models.Model):
...
slug = models.SlugField(max_length=100, db_index=True)
当通过我的表单添加新记录时,我希望slug字段填充我在模型save()
方法中编码的slug文本。然而,这种情况从未发生过,因为我被困在表单字段级别的验证中
我尝试了许多选项,如
clean()
,clean_field()
等,但所有选项都只有在slug field输入内容后才会运行。必须允许使用blank=True
在表单上输入空白值。对于slug字段,您通常还希望使用unique=True
而不是db_index=True
:
slug = models.SlugField(max_length=100, blank=True, unique=True)
请注意,
unique
意味着db\u索引
感谢Selcuk的成功。我从来没有注意过“独特”这个词,因为我也有同样的索引目的。。。谢谢你的帮助!