Overriding form validation for empty “unique” field for Django Crispy Forms
我正在为我的Django项目使用Crispy表单,在我使用的其中一个表单中,有一个字段在输入时需要是唯一的,但也可以将其留空。
对于我的学生数据库项目,每个学生都有一个设置为主键的学生ID,每个学生还应该有一个匿名的ID,将在今年晚些时候添加。这个考试ID应该是唯一的,以防止管理员为错误的学生输入它。非常简单,模型如下:
1 2 3 4 | class Student(models.Model): student_id = models.CharField(primary_key=True) anonymous_id = models.CharField(null=True, blank=True, unique=True, default=None) ... |
表单只列出选项卡中的两个字段。如果没有清晰的表格,用空白字段输入"匿名学生ID"是没有问题的,但是现在它向第二个学生投诉("拥有匿名学生ID的学生已经存在")-假设,因为已经有一个学生的ID为"无"。
是否有什么我可以做的来关闭仅对"无"的验证,或者我必须删除唯一约束?
谢谢,托比
你可以让多个学生使用
如果你的形体在有或没有脆的形体时表现不同,我会很惊讶的。问题是,现在数据库中有一个空字符串,因此不能添加其他字符串。
我建议使用