gpt4 book ai didi

python - 如何从具有 ListProperty 的模型创建表单

转载 作者:行者123 更新时间:2023-11-28 22:07:26 25 4
gpt4 key购买 nike

我目前在 Google App Engine 中使用 Django 表单,我有一个模型如下:

class Menu(db.Model):
name = db.StringProperty(required=True)
is_special = db.BooleanProperty()
menu_items = db.ListProperty(MenuItem)

我有一个 MenuForm,如下所示:

class MenuForm(djangoforms.ModelForm):
class Meta:
model = Menu
exclude = ['added_by','menu_items']

当我运行它时,出现以下错误:

Exception Type:     ValueError
Exception Value: Item type MenuItem is not acceptable

我想创建表单并让它省略 menu_items 属性,因为我认为没有用于多项选择的内置控件,例如一组复选框。无论哪种方式,我都无法理解排除项中的这个属性为什么会抛出这个错误。

TIA

安德鲁

最佳答案

您的问题在“创建表单”任务开始之前就出现了:ListProperty does not allow a list of model entities(虽然我找不到这个明确的文档在 App Engine 文档中,我仍在文档中寻找有关该内容的良好、清晰、明确的声明)。尝试将其更改为(比如说)一个字符串列表,您会发现一切正常(我相信如果您不排除此类属性,您会得到一个下拉列表)。

编辑:在docs中找到了那个点在提到问题的地方,尽管措辞古怪——特别强调引用:

The list can contain values of any of the value types supported by the datastore.

...要点是,您可以在列表中包含任何 类型的对象...而不是引用 类型,即,作为实例的实体一些模型。

您可以使用键字符串列表来代替...吗?

关于python - 如何从具有 ListProperty 的模型创建表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2037591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com