2017-09-27 24 views
0

我正在创建一个简单的项目,这是关于用户创建一个简历。在简历中,用户可以拥有多种体验,教育背景等。这就是为什么我创建了以下表格,其中经验,教育背景,技能是简历表中的外键。显示模型谁可以有多个实例的形式

class Resume(models.Model): 
    applicant = models.OneToOneField(User, on_delete=models.CASCADE) 
    name = models.CharField(max_length=100, blank=False, null=False, help_text="Full Name") 
    slug = models.SlugField(max_length=50, unique=True) 
    designation = models.CharField(max_length=200, blank=True, null=True) 
    city = models.CharField(max_length=100, blank=True, null=True) 

    def __str__(self): 
     return self.name 

class Education(models.Model): 
    resume = models.ForeignKey(Resume, related_name='education') 
    name = models.CharField(max_length=100, blank=False, null=False, help_text="Name of an institution") 
    course = models.CharField(max_length=200, blank=False, null=False, help_text="Name of a course") 
    description = models.CharField(max_length=400, blank=True, null=True) 
    start_date = models.DateField() 
    end_date = models.DateField() 

class Experience(models.Model): 
    resume = models.ForeignKey(Resume, related_name='experience') 
    designation = models.CharField(max_length=100, blank=True, null=True) 
    company = models.CharField(max_length=100, blank=True, null=True) 
    description=models.CharField(max_length=400, blank=True, null=True) 
    start_date = models.DateField() 
    end_date = models.DateField() 

class Skill(models.Model): 
    resume=models.ForeignKey(Resume, related_name="skills") 
    name = models.CharField(max_length=100, blank=True, null=True, help_text="Name of the skill") 

    class Meta: 
     verbose_name='Skill' 
     verbose_name_plural='Skills' 

    def __str__(self): 
     return self.name 

现在对于这样的情况,我必须创建一个ResumeForm,EducationForm,ExperienceForm等,并建立一个教育,经验和技能的formset或 我只好去其他地方做一些事情。我现在还没有清楚的想法,现在如何发展与这样的关系,如教育,技能可以有多个实例的关系。任何人都可以指导我吗?

+1

FORMSET我认为你正在寻找在线表单集配套使用:HTTP:// whoisnicoleharris。 COM/2015/01/06 /实施,Django的formsets.html –

回答

1

那么问题是不清楚,但你的想法跟着你有2种选择:

首先,你可以在教育,经验,技能现有值。然后在视图中您有一个复选框来添加教育,经验和技能。

其次,你可以添加的教育,经验,技能为每一个创建的ModelForm,然后使简历,这是不是在这里