Recruitment_site/offer_backend/apps/applications/models.py

26 lines
992 B
Python

from django.db import models
from django.conf import settings
class Application(models.Model):
STATUS_CHOICES = [
('pending', '待查看'),
('viewed', '已查看'),
('interviewing', '面试中'),
('hired', '已录用'),
('rejected', '已拒绝'),
]
job = models.ForeignKey('jobs.Job', on_delete=models.CASCADE, related_name='applications')
applicant = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='applications'
)
resume_snapshot = models.JSONField(verbose_name='简历快照')
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='pending')
note = models.TextField(blank=True, verbose_name='HR备注')
applied_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
unique_together = [['job', 'applicant']]
ordering = ['-applied_at']
verbose_name = '投递记录'