49 lines
1.7 KiB
Python
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 = "职位详情列表"
|