26 lines
992 B
Python
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 = '投递记录'
|