我将使用文档模型作为示例:
class Car(models.Model):
manufacturer = models.ForeignKey('Manufacturer')
# ...
class Manufacturer(models.Model):
# ...假设我想创建一个表单来添加一个新的制造商,并且在这个表单中我希望能够添加新的汽车。如何使用django-forms完成此操作?
这有可能吗?
提前感谢您的帮助!
发布于 2011-05-17 12:58:08
简短的回答是:
你想要modelformset_factory,文档在这里:http://docs.djangoproject.com/en/1.3/topics/forms/modelforms/#model-formsets
答案仍然很简短,但有几个需要注意的问题:
在处理方面,如果同时创建制造商和多个汽车实例,则需要确保先保存制造商,然后再保存单个汽车(必须引用制造商)。如果可以的话,请确保在数据库事务中发生这种情况。
另请注意:如果您对此有点困惑,请记住,没有硬性规定在一个请求中只能处理一个表单。您只需在HTML <form>标记内有多个forms.Form (或其子类)对象,该对象将发布到单个请求位置,该位置将分别处理每个表单并将其保存出来。同样,使用数据库事务,这样如果最后出现故障,整个事务就会回滚,用户可以纠正错误,而不会在数据库中有坏的或孤立的数据。
https://stackoverflow.com/questions/6026373
复制相似问题