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

标签 python django google-app-engine app-engine-patch

我想在通过 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/

相关文章:

java - 如何在 python :3. 8-slim-buster 基础镜像中使用 dockerfile 安装 java 8

google-app-engine - 应用引擎应用程序标识符别名

python - 使用 Cython 循环 Numpy 数组

python - SqlAlchemy 表继承和主键

python - 将日期列转换为时间戳列 + 小时的最有效方法

python - 自定义 Python 包 - django-paypal

python - 在 Django 中链接静态文件目录

python - Django 中的 urls.py

python - 数据库上的谷歌应用程序引擎字符串列表属性

python - 如何保护我在 Google App Engine 中内部用于推送队列的 URL?