如何将数据添加到我的模型中,这是另一个模型的多对多字段

时间:2016-10-27 08:03:30

标签: django-models django-forms many-to-many

这只是我的模型和形式的一个例子。我的问题是如何只使用一个表格在我的两个模型中保存数据。我希望通过我的Book Form()保存数据,在书模型中,我已经创建了一个来自Author Model的多对多字段,如果我使用这个表单,那么他告诉我首先在作者模型中添加数据然后只选择并保存数据在书模型中。通过我的模板,我想从我的表单中提取作为作者标题,姓名,出生日期和书名的字段,当用户输入所有细节时,它应仅保存在相应的模型中。

TITLE_CHOICES = (

    ('MR', 'Mr.'),

    ('MRS', 'Mrs.'),

    ('MS', 'Ms.'),

)

class Author(models.Model):



    name = models.CharField(max_length=100)

    title = models.CharField(max_length=3, choices=TITLE_CHOICES)


    birth_date = models.DateField(blank=True, null=True)




    def __str__(self):
        return self.name

class Book(models.Model):



    name = models.CharField(max_length=100)


    authors = models.ManyToManyField(Author)




class BookForm(ModelForm):

    class Meta:

        model = Book

        fields = ['name', 'authors']

0 个答案:

没有答案