Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Django forms.ModelForm slugfield db_index=True_Python 3.x_Django_Slug - Fatal编程技术网

Python 3.x Django forms.ModelForm slugfield db_index=True

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

我的模型中有一个slug字段
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的成功。我从来没有注意过“独特”这个词,因为我也有同样的索引目的。。。谢谢你的帮助!