39 lines
1.5 KiB
Python
39 lines
1.5 KiB
Python
from django.db import models
|
|
from django.contrib.auth.models import User
|
|
|
|
# Create your models here.
|
|
class Job(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
description_en = models.TextField()
|
|
description_ar = models.TextField()
|
|
is_published = models.BooleanField(default=False)
|
|
posted_to_linkedin = models.BooleanField(default=False)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
updated_at = models.DateTimeField(auto_now=True)
|
|
def __str__(self):
|
|
return self.title
|
|
|
|
|
|
class Candidate(models.Model):
|
|
job = models.ForeignKey(Job, on_delete=models.CASCADE, related_name='candidates')
|
|
name = models.CharField(max_length=255)
|
|
email = models.EmailField()
|
|
resume = models.FileField(upload_to='resumes/')
|
|
parsed_summary = models.TextField(blank=True)
|
|
applied = models.BooleanField(default=False)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
updated_at = models.DateTimeField(auto_now=True)
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class TrainingMaterial(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
content = models.TextField(blank=True)
|
|
video_link = models.URLField(blank=True)
|
|
file = models.FileField(upload_to='training_materials/', blank=True)
|
|
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
updated_at = models.DateTimeField(auto_now=True)
|
|
def __str__(self):
|
|
return self.title |