TS-ResHub/positions/models.py

49 lines
1.7 KiB
Python

from django.db import models
from websites.models import Website
from companies.models import Company
class Position(models.Model):
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="所属企业"
)
def __str__(self):
return f"{self.company.name} - {self.title}"
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 = "职位详情列表"