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