TS-ResHub/positions/models.py

39 lines
2.2 KiB
Python

from django.db import models
from websites.models import Website
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="职位性质", 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}"
class Meta:
verbose_name = "职位"
verbose_name_plural = "职位列表"
unique_together = ['title', 'website', 'company']