From 13215fb6ad72250c18c2a648c01da7e0221e05f0 Mon Sep 17 00:00:00 2001 From: Franklin-F Date: Sat, 24 May 2025 13:21:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=AC=E5=8F=B8=E5=92=8C?= =?UTF-8?q?=E8=81=8C=E4=BD=8D=E6=A8=A1=E5=9E=8B=EF=BC=8C=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E8=81=8C=E4=BD=8D=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- companies/models.py | 23 +++++++++++++++++++++- positions/models.py | 47 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/companies/models.py b/companies/models.py index 71a8362..2b13022 100644 --- a/companies/models.py +++ b/companies/models.py @@ -1,3 +1,24 @@ 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 = "企业列表" diff --git a/positions/models.py b/positions/models.py index 71a8362..f6f3da2 100644 --- a/positions/models.py +++ b/positions/models.py @@ -1,3 +1,48 @@ 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 = "职位详情列表"