【发布时间】:2018-07-05 07:16:59
【问题描述】:
我试图找到一种简单的方法来创建一个允许同时编辑具有外键关系的两个模型的表单。
经过一番研究,Inline formsets 似乎非常接近我想要做的事情。
django 文档提供了这个例子:
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
author = models.ForeignKey(Author, on_delete=models.CASCADE)
title = models.CharField(max_length=100)
然后,
>>> from django.forms import inlineformset_factory
>>> BookFormSet = inlineformset_factory(Author, Book, fields=('title',))
>>> author = Author.objects.get(name='Mike Royko')
>>> formset = BookFormSet(instance=author)
假设Author 有第二个字段city。我可以使用fields 参数在表单中添加城市吗?
如果内联表单集不是要走的路,还有其他方法可以生成这种联合表单吗?
经过更多研究,我发现 django model Form. Include fields from related models 来自 2009 年,这暗示内联表单集可能不是可行的方法。
如果有不同工厂的默认解决方案,我会非常感兴趣。
【问题讨论】:
-
嘿,@cel 我想知道,你觉得我的回答有帮助吗?
-
@JohnMoutafis,是的!对不起,我忘了投票:)
标签: python django django-forms