0

我想使用 ModelForm 从 2 个表中获取数据,如下所示:

拳头型号:

class Cv(models.Model):
    created_by = models.ForeignKey(User, blank=True)
    first_name = models.CharField(('first name'), max_length=30, blank=True)
    last_name = models.CharField(('last name'), max_length=30, blank=True)
    url = models.URLField(verify_exists=True)
    picture = models.ImageField(help_text=('Upload an image (max %s kilobytes)' %settings.MAX_PHOTO_UPLOAD_SIZE),upload_to='avatar')
    bio = models.CharField(('bio'), max_length=180, blank=True)
    expertise= models.ForeignKey(Expertise, blank=True) 
    date_birth = models.DateField()

第二个模型:

class Expertise(models.Model):
    user = models.ForeignKey(User, blank=True)
    domain = models.CharField(('domain'), max_length=30, blank=True)
    specialisation = models.CharField(('specialization'), max_length=30, blank=True)
    degree = models.CharField(('degree'), max_length=30, blank=True)
    year_last_degree = models.CharField(('year_last_degree'), max_length=30, blank=True)
    lyceum = models.CharField(('lyceum'), max_length=30, blank=True)
    faculty = models.CharField(('faculty'), max_length=30, blank=True)
    references = models.CharField(('references'), max_length=30, blank=True)
    workplace = models.CharField(('workplace'), max_length=30, blank=True)

然后我有forms.py

class CvForm(ModelForm):
   class Meta:
      model = Cv
      fields = ['first_name','last_name','url','picture','bio','date_birth']

class ExpertiseForm(ModelForm):  
   class Meta:
      model = Expertise
      fields = ['domain','specialisation']

关键是我希望将这两种形式都放在一个表单中,当然还有一个提交。所以,我想我应该使用单个 ModelForm 类型的类。但它不起作用(如果我也将专业知识放在 CvForm 中)。我的表单是从 ModelForm 类自动创建的,这就是为什么我想制作一个单一的类 => 一个单一的表单。

请帮忙,非常感谢

4

1 回答 1

1

由于从 Expertise 到 CV 有一个外键,因此每个 cv 可能有多个专业知识。因此,您应该通过使用内联表单集来启用它。

于 2010-05-20T11:50:01.537 回答