假设Venue是:
from mongoengine import *
from mongoengine_extras.fields import AutoSlugField
class Venue(Document):
name = StringField(required=True)
venue_slug = AutoSlugField()
Run Code Online (Sandbox Code Playgroud)
我想根据名称更新所有的venue_slug字段.我尝试:
for v in Venue.objects():
v(venue_slug = str(v.name)).update()
Run Code Online (Sandbox Code Playgroud)
但我得到:
v(venue_slug = str(v.name)).update()
TypeError: Error when calling the metaclass bases
'Venue' object is not callable
Run Code Online (Sandbox Code Playgroud)
我的更新功能是否正确?如果您不熟悉,AutoSlugField()可以为StringField()更新编写示例吗?
你的代码不正确.尝试:
for v in Venue.objects():
v.update(set__venue_slug=str(v.name))
Run Code Online (Sandbox Code Playgroud)
请参阅文档:http://docs.mongoengine.org/guide/querying.html#atomic-updates.
| 归档时间: |
|
| 查看次数: |
15571 次 |
| 最近记录: |