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 = "职位详情列表"