编程语言
首页 > 编程语言> > python – 在Google App Engine中的ModelForm中设置父级

python – 在Google App Engine中的ModelForm中设置父级

作者:互联网

我想在通过ModelForm创建的实体中创建实体组关系.

如何传递父实例并在ModelForm中设置parent =属性?

解决方法:

我有兴趣看看你是否能找到解决这个问题的好办法.我自己的解决方案,远非优雅,是这样做的:

book = models.Book(title='Foo')
chapter = models.Chapter(parent=book, title='dummy')
form = forms.ChapterForm(request.POST, request.FILES, instance=chapter)

基本上,我首先使用正确的父关系创建一个虚拟对象(在本例中为章节),然后将其作为实例参数传递给表单的构造函数.表单将覆盖我用来创建虚拟对象的一次性数据和请求中给出的数据.最后,为了得到真正的子对象,我做了这样的事情:

if form.is_valid():
    chapter = form.save()
    # Now chapter.parent() == book

标签:python,django,google-app-engine,app-engine-patch
来源: https://codeday.me/bug/20190627/1300991.html