Django使用python

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

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 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())