2017-09-27 69 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,然後使簡歷,這是不是在這裏

相關問題