saurabh rana
saurabh rana

Reputation: 1

How can i perform join operation in Django?

The project is basically a resume builder wherein user will fill all details like personal info, education info,projects,experiences in the form and the system will generate a resume in a certains format .

The database structure is somewhat like this:-

  1. user table:- for authentication.
  2. resumeinfo :- here details like personal info ,education info are stored
  3. projectinfo table:- each resume created by user can have 0/1/or multiple projects
  4. experienceinfo table:- each resume have have 0/1 or multiple experience info

1 user can create multiple resume. Each resume has a resumeinfo and can have 0 or more projects and experiences.

**here are the django models **

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

For example there are 2 users registered in user table

  1. jack
  2. bob

jack creates 1 resume by entering all the details ,in this resume jack enters 3 project info and 2 experience info.

Now jack creates 2nd resume by entering all the details ,in this resume jack enters only 1 project and has no experience

I want to create a join in such a way that my expected output should be:


jacks 1st resume:

All personal /education info of jacks 1st resume, project 1 info of his 1st resume, project 2 info of his 1st resume, project 3 info of his 1st resume, experience 1 info of his 1st resume, experience 2 info of his 1st resume,

jacks 2nd resume:

All personal /education info of jacks 2nd resume, project 1 info of his 2nd resume


Upvotes: 0

Views: 54

Answers (0)

Related Questions