【发布时间】:2013-05-19 21:41:24
【问题描述】:
使用 Mongoengine 并尝试形成标签云。我想为每个项目附加一个或多个标签。这里使用了类似标签的东西(在每个问题下方)。
在这里搜索和阅读许多帖子后,我仍然无法正确地向 ListField 添加新条目,或者如何替换它们。
class Item(Document):
tags = ListField(StringField(max_length=300))
我正在尝试推送一个或多个新标签,方法是使用表单并收集发布的结果。在我的 views.py 中,我进行了以下检查:
if 'tags' in request.POST and request.POST['tags'] <> '':
for Tag in request.POST.getlist('tags'):
ItemData.update(push__tags__S__tags=Tag)
尝试推送时失败:
ValidationError (Profile:5185505b73ea128e878f4e82) (仅列出和 元组可以在列表字段中使用:['tags'])
显然我使用了错误的类型,但我不知道如何解决这个问题。 奇怪的是,由于某种原因,数据被附加到记录中......(发布“测试”并刷新浏览器)
“标签”:[“测试”,“测试”]}
谁能给我看一个小例子,如何处理发布的字符串(来自 HTML 表单)并将其正确推送到 ListField 中(以及如何全部替换它们)。
谢谢!
【问题讨论】:
标签: mongoengine listfield