我想在通过 ModelForm 创建的实体中创建实体组关系。
如何传递父实例并在 ModelForm 中设置 parent=
属性?
最佳答案
我很想看看您是否对这个问题有任何好的解决方案。我自己的解决方案远非优雅,而是这样做:
book = models.Book(title='Foo')
chapter = models.Chapter(parent=book, title='dummy')
form = forms.ChapterForm(request.POST, request.FILES, instance=chapter)
基本上,我首先创建一个具有正确父关系的虚拟对象(在本例中为 chapter
),然后将其作为 instance
参数传递给表单的构造函数。该表单将用请求中提供的数据覆盖我用来创建虚拟对象的一次性数据。最后,为了得到真正的子对象,我做了这样的事情:
if form.is_valid():
chapter = form.save()
# Now chapter.parent() == book
关于python - 在 Google App Engine 的 ModelForm 中设置父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2097225/