Django使用python
1.请告诉我们如何设置django中整数字段的限制 2.请告知程序块名称(添加另一个选项)的编码应受到限制Django使用python,django,Django,1.请告诉我们如何设置django中整数字段的限制 2.请告知程序块名称(添加另一个选项)的编码应受到限制 class Record(models.Model): Name = models.CharField(max_length=200,blank=True,null=True,help_text="Employee Name") Empid = models.CharField(max_length=300,blank=True,help_text="Employee
class Record(models.Model):
Name = models.CharField(max_length=200,blank=True,null=True,help_text="Employee Name")
Empid = models.CharField(max_length=300,blank=True,help_text="Employee ID")
Salary = models.CharField(max_length=300,blank=True,null=True)
Bonus = models.IntegerField(blank=True,null=True)
class Choice(models.Model):
p=models.ForeignKey(Record)
Month=models.CharField(max_length=200,blank=True,null=True)
这两种方法都不能在ORM级别进行;您需要使用原始SQL添加数据库级约束。1如果您只想使用干净的方法检查用户输入 即 2我不知道你的意思: a) 如果您的意思是希望用户至少选择1个选项,但限制最大使用量,请执行以下操作:
class RequireOneFormSet(BaseInlineFormSet):
"""
Require at least one form in the formset to be completed.
"""
def clean(self):
"""Check that at least one form has been completed."""
super(RequireOneFormSet, self).clean()
for error in self.errors:
if error:
return
completed = 0
for cleaned_data in self.cleaned_data:
# form has data and we aren't deleting it.
if cleaned_data and not cleaned_data.get('DELETE', False):
completed += 1
if completed < 1:
raise forms.ValidationError("At least one %s is required." %
self.model._meta.object_name.lower())
class RequireOneFormSet(BaseInlineFormSet):
"""
要求至少填写表单集中的一个表单。
"""
def清洁(自清洁):
“”“请检查是否至少已完成一个表单。”“”
super(RequireOneFormSet,self).clean()
对于self.errors中的错误:
如果出现错误:
返回
已完成=0
对于自清洁\u数据中的清洁\u数据:
#表单有数据,我们不会删除它。
如果已清理的\u数据和未清理的\u数据。get('DELETE',False):
已完成+=1
如果完成时间<1:
raise forms.ValidationError(“至少需要一个%s)。%
self.model.\u meta.object\u name.lower())
b) 如果您想拥有多个外键,请使用django ContentType
class RequireOneFormSet(BaseInlineFormSet):
"""
Require at least one form in the formset to be completed.
"""
def clean(self):
"""Check that at least one form has been completed."""
super(RequireOneFormSet, self).clean()
for error in self.errors:
if error:
return
completed = 0
for cleaned_data in self.cleaned_data:
# form has data and we aren't deleting it.
if cleaned_data and not cleaned_data.get('DELETE', False):
completed += 1
if completed < 1:
raise forms.ValidationError("At least one %s is required." %
self.model._meta.object_name.lower())