【发布时间】:2012-07-16 14:50:21
【问题描述】:
是否可以使用Django mongodb nonrel 检索字段子集。我对 python 完全陌生,但对 mongo 有很好的了解。
我的要求很直接,我想通过它的嵌入字段来查询集合并只返回一些特定的字段
我可以在 mongodb 中做到这一点
db.Contract.find({'owner.name':'Ram'},{'address':1})
我在 django 中试过这个
Contract.objects.filter(owner__name='Ram')
但它会引发错误
raise FieldError("不允许加入字段 %r。你拼错了 %r 对于查找类型?” % (name, names[pos + 1])) FieldError: Join on 字段“所有者”不允许。您是否拼错了“名称” 查找类型?
我完全被这里打动了。我相信我有文档中指定的模型。
class SimplePerson(models.Model):
name = models.CharField(max_length=255)
user_key = models.CharField(max_length=255)
class Contract(models.Model):
owner = EmbeddedModelField('SimplePerson')
title = models.CharField(max_length=120, )
这真的很奇怪。我在文档站点中找不到有关如何查询嵌入字段和检索字段子集的任何参考。
最后我用raw_query查询嵌入字段
Contract.objects.raw_query({'owner.name':'Ram'})
但仍然无法弄清楚如何检索字段子集。有人可以帮帮我吗?
【问题讨论】:
标签: python django mongodb django-nonrel