From 1b481387a2748f1eb196115d6fc376dd718afda2 Mon Sep 17 00:00:00 2001 From: Franklin-F Date: Sun, 25 May 2025 15:24:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=81=8C=E4=BD=8D=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=81=8C=E4=BD=8D=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E3=80=81=E6=8F=8F=E8=BF=B0=E3=80=81=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E5=8F=8A=E6=8B=9B=E8=81=98=E4=BA=BA?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- positions/models.py | 57 ++++++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 34 deletions(-) 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 = "职位详情列表"