109 lines
6.8 KiB
Python
109 lines
6.8 KiB
Python
from django.db import models
|
|
|
|
# Create your models here.
|
|
from django.db import models
|
|
|
|
from websites.models import Website
|
|
|
|
|
|
class ResumeBasic(models.Model):
|
|
resume_id = models.IntegerField(db_index=True, verbose_name="简历ID", help_text="resume_id")
|
|
name = models.CharField(max_length=255, null=True, blank=True, verbose_name="姓名", help_text="姓名")
|
|
job_region = models.CharField(max_length=255, null=True, blank=True, verbose_name="求职区域",
|
|
help_text="求职区域")
|
|
birthday = models.CharField(max_length=255, null=True, blank=True, verbose_name="生日", help_text="生日")
|
|
education = models.CharField(max_length=255, null=True, blank=True, verbose_name="学历", help_text="学历")
|
|
school = models.CharField(max_length=255, null=True, blank=True, verbose_name="学校", help_text="学校")
|
|
expected_position = models.CharField(max_length=255, null=True, blank=True, verbose_name="期望职务",
|
|
help_text="期望职务")
|
|
last_active_time = models.CharField(max_length=255, null=True, blank=True, verbose_name="最后活跃时间",
|
|
help_text="最后活跃时间")
|
|
marital_status = models.CharField(max_length=255, null=True, blank=True, verbose_name="婚姻", help_text="婚姻")
|
|
current_location = models.CharField(max_length=255, null=True, blank=True, verbose_name="现居地",
|
|
help_text="现居地")
|
|
age = models.IntegerField(null=True, blank=True, verbose_name="年龄", help_text="年龄")
|
|
phone = models.CharField(max_length=255, null=True, blank=True, verbose_name="电话", help_text="电话")
|
|
gender = models.CharField(max_length=255, null=True, blank=True, verbose_name="性别", help_text="性别")
|
|
job_type = models.CharField(max_length=255, null=True, blank=True, verbose_name="求职类型",
|
|
help_text="求职类型")
|
|
job_status = models.CharField(max_length=255, null=True, blank=True, verbose_name="求职状态",
|
|
help_text="求职状态")
|
|
|
|
work_1_experience = models.TextField(null=True, blank=True, verbose_name="工作1经历", help_text="工作1经历")
|
|
work_1_time = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作1时间",
|
|
help_text="工作1时间")
|
|
work_1_description = models.TextField(null=True, blank=True, verbose_name="工作1内容", help_text="工作1内容")
|
|
|
|
work_2_experience = models.TextField(null=True, blank=True, verbose_name="工作2经历", help_text="工作2经历")
|
|
work_2_time = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作2时间",
|
|
help_text="工作2时间")
|
|
work_2_description = models.TextField(null=True, blank=True, verbose_name="工作2内容", help_text="工作2内容")
|
|
|
|
work_3_experience = models.TextField(null=True, blank=True, verbose_name="工作3经历", help_text="工作3经历")
|
|
work_3_time = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作3时间",
|
|
help_text="工作3时间")
|
|
work_3_description = models.TextField(null=True, blank=True, verbose_name="工作3内容", help_text="工作3内容")
|
|
|
|
work_4_experience = models.TextField(null=True, blank=True, verbose_name="工作4经历", help_text="工作4经历")
|
|
work_4_time = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作4时间",
|
|
help_text="工作4时间")
|
|
work_4_description = models.TextField(null=True, blank=True, verbose_name="工作4内容", help_text="工作4内容")
|
|
|
|
height = models.IntegerField(null=True, blank=True, verbose_name="身高", help_text="身高")
|
|
weight = models.IntegerField(null=True, blank=True, verbose_name="体重", help_text="体重")
|
|
work_years = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作经验", help_text="工作经验")
|
|
highest_education = models.CharField(max_length=255, null=True, blank=True, verbose_name="最高学历",
|
|
help_text="最高学历")
|
|
ethnicity = models.CharField(max_length=255, null=True, blank=True, verbose_name="民族", help_text="民族")
|
|
update_time = models.DateTimeField(null=True, blank=True, verbose_name="更新时间", help_text="更新时间")
|
|
job_function = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作职能",
|
|
help_text="工作职能")
|
|
intended_position = models.CharField(max_length=255, null=True, blank=True, verbose_name="意向岗位",
|
|
help_text="意向岗位")
|
|
industry = models.CharField(max_length=255, null=True, blank=True, verbose_name="从事行业",
|
|
help_text="从事行业")
|
|
expected_salary = models.CharField(max_length=255, null=True, blank=True, verbose_name="期望薪资",
|
|
help_text="期望薪资")
|
|
available_time = models.CharField(max_length=255, null=True, blank=True, verbose_name="到岗时间",
|
|
help_text="到岗时间")
|
|
job_property = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作性质",
|
|
help_text="工作性质")
|
|
job_location = models.CharField(max_length=255, null=True, blank=True, verbose_name="工作地点",
|
|
help_text="工作地点")
|
|
source = models.ForeignKey(
|
|
Website,
|
|
null=True,
|
|
blank=True,
|
|
on_delete=models.SET_NULL,
|
|
verbose_name="数据来源",
|
|
help_text="数据来源网站"
|
|
)
|
|
crawl_keywords = models.CharField(max_length=255, null=True, blank=True, verbose_name="关键字", help_text="关键字")
|
|
|
|
def __str__(self):
|
|
return f"{self.name} - {self.resume_id} - {self.name}"
|
|
|
|
class Meta:
|
|
verbose_name = "简历"
|
|
verbose_name_plural = "简历列表"
|
|
unique_together = ('source', 'resume_id')
|
|
|
|
|
|
class ResumeDetail(models.Model):
|
|
resume = models.OneToOneField(
|
|
ResumeBasic,
|
|
on_delete=models.SET_NULL,
|
|
null=True,
|
|
blank=True,
|
|
unique=True,
|
|
related_name="detail",
|
|
verbose_name="简历"
|
|
)
|
|
unlinked_resume_id = models.IntegerField(null=True, blank=True, verbose_name="无法关联的简历ID")
|
|
phone = models.CharField(max_length=20, verbose_name="联系方式", blank=True)
|
|
email = models.EmailField(verbose_name="邮箱", blank=True)
|
|
updated_at = models.DateTimeField(auto_now=True)
|
|
|
|
class Meta:
|
|
verbose_name = "简历详情"
|
|
verbose_name_plural = "简历详情" |