添加公司和职位模型,包含职位详情

This commit is contained in:
晓丰 2025-05-24 13:21:01 +08:00
parent f56457d222
commit 13215fb6ad
2 changed files with 68 additions and 2 deletions

View File

@ -1,3 +1,24 @@
from django.db import models from django.db import models
from websites.models import Website
# Create your models here.
class Company(models.Model):
name = models.CharField(max_length=200, verbose_name="企业名称")
category = models.CharField(max_length=100, verbose_name="公司类别")
size = models.CharField(max_length=50, verbose_name="公司规模")
introduction = models.TextField(verbose_name="企业介绍")
address = models.CharField(max_length=300, verbose_name="企业地址")
benefits = models.TextField(blank=True, verbose_name="企业福利")
website = models.ForeignKey(
Website,
on_delete=models.CASCADE,
related_name="companies",
verbose_name="隶属网站"
)
def __str__(self):
return self.name
class Meta:
verbose_name = "企业"
verbose_name_plural = "企业列表"

View File

@ -1,3 +1,48 @@
from django.db import models from django.db import models
from websites.models import Website
from companies.models import Company
# Create your models here.
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 = "职位详情列表"