Как выполнить операцию объединения в Django?
Проект представляет собой конструктор резюме , в котором пользователь заполняет все данные, такие как личная информация, информация об образовании, проектах, опыте в форме, и система генерирует резюме в определенном формате .
Структура базы данных выглядит примерно так:-
- user table:- for authentication.
- resumeinfo :- here details like personal info ,education info are stored
- projectinfo table:- each resume created by user can have 0/1/or multiple projects
- experienceinfo table:- each resume have have 0/1 or multiple experience info
1 пользователь может создать несколько резюме. Каждое резюме имеет resumeinfo и может иметь 0 или более проектов и опыта.
** здесь представлены модели django **
class User(models.Model):
fname=models.CharField(max_length=20)
lname = models.CharField(max_length=20)
gender = models.CharField(max_length=20)
def __str__(self):
return self.fname
class Resdata(models.Model):
fname=models.CharField(max_length=20)
lname = models.CharField(max_length=20)
school = models.CharField(max_length=20)
resumeno=models.CharField(max_length=20)
creatorid=models.ForeignKey(User,on_delete=models.CASCADE)
def __str__(self):
return self.fname
class Project(models.Model):
ptitle=models.CharField(max_length=20)
pdesc=models.CharField(max_length=20)
resume=models.ForeignKey(Resdata,on_delete=models.CASCADE)
def __str__(self):
return self.ptitle
class Exp(models.Model):
etitle=models.CharField(max_length=20)
edesc=models.CharField(max_length=20)
resume=models.ForeignKey(Resdata,on_delete=models.CASCADE)
def __str__(self):
return self.etitle
Например, в таблице пользователей зарегистрировано 2 пользователя
- jack
- bob
джек создает 1 резюме, вводя все данные, в этом резюме джек вводит 3 информации о проекте и 2 информации об опыте работы.
Теперь Джек создает второе резюме, вводя все данные, в этом резюме Джек вводит только 1 проект и имеет без опыта
Я хочу создать объединение таким образом, чтобы мой ожидаемый выход был следующим:
джеки 1-го резюме:
Вся личная / образовательная информация из 1-го резюме Джека, информация о проекте 1 его 1-го резюме, проект 2 информация его 1-го резюме, проект 3 информация из его 1-го резюме, опыт 1 информация из его 1-го резюме, опыт 2 информация из его 1-го резюме,
джеки 2-го резюме:
Вся информация о личности / образовании из 2-го резюме Джека, информация о проекте 1 из его второго резюме