将model字段设置为 blank=True, null=True,可绕过表单必填校验
This commit is contained in:
parent
a318384f63
commit
a803e1c37c
|
@ -96,45 +96,43 @@ class EmployeeInformation(models.Model):
|
|||
|
||||
employee_id = models.AutoField(primary_key=True)
|
||||
name = models.CharField(max_length=255, verbose_name='姓名')
|
||||
id_number = models.CharField(max_length=255, verbose_name='身份证号', unique=True)
|
||||
gender = models.CharField(max_length=10, choices=GENDER_CHOICES, verbose_name='性别')
|
||||
birthday = models.DateField(verbose_name='生日')
|
||||
age = models.IntegerField(verbose_name='年龄')
|
||||
height = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='身高(cm)')
|
||||
weight = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='体重(kg)')
|
||||
blood_type = models.CharField(max_length=3, choices=BLOOD_TYPE_CHOICES, verbose_name='血型')
|
||||
ethnicity = models.CharField(max_length=255, verbose_name='民族', blank=True)
|
||||
domicile = models.CharField(max_length=255, verbose_name='户籍地', blank=True)
|
||||
marital_status = models.CharField(max_length=50, choices=MARITAL_STATUS_CHOICES, verbose_name='婚姻状态')
|
||||
political_affiliation = models.CharField(max_length=50, choices=POLITICAL_AFFILIATION_CHOICES,
|
||||
verbose_name='政治面貌')
|
||||
entry_date = models.DateField(verbose_name='入职日期')
|
||||
regularization_date = models.DateField(null=True, blank=True, verbose_name='转正日期')
|
||||
employment_type = models.CharField(max_length=50, choices=EMPLOYMENT_TYPE_CHOICES, verbose_name='用工性质')
|
||||
status = models.CharField(max_length=50, choices=STATUS_CHOICES, verbose_name='状态')
|
||||
primary_department = models.CharField(max_length=255, verbose_name='一级部门', default='星河')
|
||||
secondary_department = models.CharField(max_length=255, verbose_name='二级部门', default='数资团队')
|
||||
position = models.CharField(max_length=255, verbose_name='岗位', default='数据分析师')
|
||||
rank = models.CharField(max_length=255, verbose_name='职级', default='P1')
|
||||
contract_end_date = models.DateField(null=True, blank=True, verbose_name='当前合同到期日期')
|
||||
mobile_number = models.CharField(max_length=255, verbose_name='手机号')
|
||||
email = models.EmailField(verbose_name='邮箱')
|
||||
mailing_address = models.CharField(max_length=255, verbose_name='通信地址', blank=True)
|
||||
emergency_contact = models.CharField(max_length=255, verbose_name='紧急联系人', blank=True)
|
||||
relation_with_contact = models.CharField(max_length=255, verbose_name='与本人关系', blank=True)
|
||||
emergency_contact_phone = models.CharField(max_length=255, verbose_name='紧急联系人电话', blank=True)
|
||||
education = models.CharField(max_length=50, choices=EDUCATION_CHOICES, verbose_name='学历')
|
||||
undergraduate_school = models.CharField(max_length=255, verbose_name='本科毕业院校', blank=True)
|
||||
graduate_school = models.CharField(max_length=255, verbose_name='研究生毕业院校', blank=True)
|
||||
major = models.CharField(max_length=255, verbose_name='专业', blank=True)
|
||||
technical_title = models.CharField(max_length=255, verbose_name='技术职称', blank=True)
|
||||
base_salary = models.TextField(verbose_name='基础工资(元)', blank=True)
|
||||
salary_account_number = models.CharField(max_length=255, verbose_name='工资卡号', blank=True)
|
||||
bank_of_salary_account = models.CharField(max_length=255, verbose_name='工资卡开户行', blank=True)
|
||||
resignation_type = models.CharField(max_length=50, choices=RESIGNATION_TYPE_CHOICES, verbose_name='离职类型',
|
||||
blank=True)
|
||||
resignation_reason = models.TextField(verbose_name='离职原因', blank=True)
|
||||
resignation_date = models.DateField(null=True, blank=True, verbose_name='离职日期')
|
||||
id_number = models.CharField(max_length=255, verbose_name='身份证号', unique=True, blank=True, null=True)
|
||||
gender = models.CharField(max_length=10, choices=GENDER_CHOICES, verbose_name='性别', blank=True, null=True)
|
||||
birthday = models.DateField(verbose_name='生日', blank=True, null=True)
|
||||
age = models.IntegerField(verbose_name='年龄', blank=True, null=True)
|
||||
height = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='身高(cm)', blank=True, null=True)
|
||||
weight = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='体重(kg)', blank=True, null=True)
|
||||
blood_type = models.CharField(max_length=3, choices=BLOOD_TYPE_CHOICES, verbose_name='血型', blank=True, null=True)
|
||||
ethnicity = models.CharField(max_length=255, verbose_name='民族', blank=True, null=True)
|
||||
domicile = models.CharField(max_length=255, verbose_name='户籍地', blank=True, null=True)
|
||||
marital_status = models.CharField(max_length=50, choices=MARITAL_STATUS_CHOICES, verbose_name='婚姻状态', blank=True, null=True)
|
||||
political_affiliation = models.CharField(max_length=50, choices=POLITICAL_AFFILIATION_CHOICES, verbose_name='政治面貌', blank=True, null=True)
|
||||
entry_date = models.DateField(verbose_name='入职日期', blank=True, null=True)
|
||||
regularization_date = models.DateField(verbose_name='转正日期', blank=True, null=True)
|
||||
employment_type = models.CharField(max_length=50, choices=EMPLOYMENT_TYPE_CHOICES, verbose_name='用工性质', blank=True, null=True)
|
||||
status = models.CharField(max_length=50, choices=STATUS_CHOICES, verbose_name='状态', blank=True, null=True)
|
||||
primary_department = models.CharField(max_length=255, verbose_name='一级部门', blank=True, null=True)
|
||||
secondary_department = models.CharField(max_length=255, verbose_name='二级部门', blank=True, null=True)
|
||||
position = models.CharField(max_length=255, verbose_name='岗位')
|
||||
rank = models.CharField(max_length=255, verbose_name='职级')
|
||||
contract_end_date = models.DateField(verbose_name='当前合同到期日期', blank=True, null=True)
|
||||
mobile_number = models.CharField(max_length=255, verbose_name='手机号', blank=True, null=True)
|
||||
email = models.EmailField(verbose_name='邮箱', blank=True, null=True)
|
||||
mailing_address = models.CharField(max_length=255, verbose_name='通信地址', blank=True, null=True)
|
||||
emergency_contact = models.CharField(max_length=255, verbose_name='紧急联系人', blank=True, null=True)
|
||||
relation_with_contact = models.CharField(max_length=255, verbose_name='与本人关系', blank=True, null=True)
|
||||
emergency_contact_phone = models.CharField(max_length=255, verbose_name='紧急联系人电话', blank=True, null=True)
|
||||
education = models.CharField(max_length=50, choices=EDUCATION_CHOICES, verbose_name='学历', blank=True, null=True)
|
||||
undergraduate_school = models.CharField(max_length=255, verbose_name='本科毕业院校', blank=True, null=True)
|
||||
graduate_school = models.CharField(max_length=255, verbose_name='研究生毕业院校', blank=True, null=True)
|
||||
major = models.CharField(max_length=255, verbose_name='专业', blank=True, null=True)
|
||||
technical_title = models.CharField(max_length=255, verbose_name='技术职称', blank=True, null=True)
|
||||
base_salary = models.TextField(verbose_name='基础工资(元)', blank=True, null=True)
|
||||
salary_account_number = models.CharField(max_length=255, verbose_name='工资卡号', blank=True, null=True)
|
||||
bank_of_salary_account = models.CharField(max_length=255, verbose_name='工资卡开户行', blank=True, null=True)
|
||||
resignation_type = models.CharField(max_length=50, choices=RESIGNATION_TYPE_CHOICES, verbose_name='离职类型', blank=True, null=True)
|
||||
resignation_reason = models.TextField(verbose_name='离职原因', blank=True, null=True)
|
||||
resignation_date = models.DateField(verbose_name='离职日期', blank=True, null=True)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
primary_department_name = PrimaryDepartment.objects.filter(department_name=self.primary_department).first()
|
||||
|
@ -152,7 +150,7 @@ class EmployeeInformation(models.Model):
|
|||
raise ValueError("岗位不存在")
|
||||
|
||||
if not rank:
|
||||
raise ValueError("职位不存在")
|
||||
raise ValueError("职级不存在")
|
||||
|
||||
super(EmployeeInformation, self).save(*args, **kwargs)
|
||||
|
||||
|
|
Loading…
Reference in New Issue