diff --git a/positions/models.py b/positions/models.py index f6f3da2..4323297 100644 --- a/positions/models.py +++ b/positions/models.py @@ -4,25 +4,30 @@ from companies.models import Company class Position(models.Model): + POSITION_STATUS_CHOICES = [ + (0, '已下架'), + (1, '正在招聘'), + (2, '已结束'), + (3, '不确定'), + ] + title = models.CharField(max_length=200, verbose_name="职位名称") - nature = models.CharField(max_length=50, verbose_name="职位性质") # 修改为普通 CharField - category = models.CharField(max_length=100, verbose_name="职位类别") - region = models.CharField(max_length=100, verbose_name="职位区域") - experience = models.CharField(max_length=100, verbose_name="工作经历要求") - education = models.CharField(max_length=100, verbose_name="学历要求") - salary = models.CharField(max_length=100, verbose_name="职位薪资") - website = models.ForeignKey( - Website, - on_delete=models.CASCADE, - related_name="positions", - verbose_name="所属网站" - ) - company = models.ForeignKey( - Company, - on_delete=models.CASCADE, - related_name="positions", - verbose_name="所属企业" - ) + nature = models.CharField(max_length=50, verbose_name="职位性质", blank=True, null=True, ) + category = models.CharField(max_length=100, verbose_name="职位类别", blank=True, null=True, ) + region = models.CharField(max_length=100, verbose_name="职位区域", blank=True, null=True, ) + experience = models.CharField(max_length=100, verbose_name="工作经历要求", blank=True, null=True, ) + education = models.CharField(max_length=100, verbose_name="学历要求", blank=True, null=True, ) + salary = models.CharField(max_length=100, verbose_name="职位薪资", blank=True, null=True, ) + position_status = models.IntegerField(choices=POSITION_STATUS_CHOICES, default=0, verbose_name='职位状态', + blank=True, null=True, ) + description = models.TextField(verbose_name="职位描述(详情)", blank=True, null=True, ) + contact_name = models.CharField(max_length=100, verbose_name="联系人姓名", blank=True, null=True, ) + contact_info = models.CharField(max_length=200, verbose_name="联系方式", blank=True, null=True, ) + benefits = models.TextField(verbose_name="职位福利", blank=True, null=True, help_text="可用换行或逗号分隔多条福利") + openings = models.PositiveIntegerField(verbose_name="招聘人数", default=1, blank=True, null=True, + help_text="默认为 1") + website = models.ForeignKey(Website, on_delete=models.CASCADE, related_name="positions", verbose_name="所属网站") + company = models.ForeignKey(Company, on_delete=models.CASCADE, related_name="positions", verbose_name="所属企业") def __str__(self): return f"{self.company.name} - {self.title}" @@ -30,19 +35,3 @@ class Position(models.Model): class Meta: verbose_name = "职位" verbose_name_plural = "职位列表" - - -class PositionDetail(models.Model): - position = models.OneToOneField( - Position, - on_delete=models.CASCADE, - related_name="detail", - verbose_name="所属职位" - ) - description = models.TextField(verbose_name="职位描述(详情)") - contact_name = models.CharField(max_length=100, verbose_name="联系人姓名") - contact_info = models.CharField(max_length=200, verbose_name="联系方式") - - class Meta: - verbose_name = "职位详情" - verbose_name_plural = "职位详情列表"