更新职位模型,添加职位状态、描述、联系人信息及招聘人数字段

This commit is contained in:
晓丰 2025-05-25 15:24:47 +08:00
parent ae6ca81f14
commit 1b481387a2

View File

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