Django - MongoEngine - SELECT属性 - 没有属性'只'

时间:2012-08-21 16:01:42

标签: django mongodb mongoengine database

我正在尝试从对象中选择一些属性。该文件说我应该只使用。

我有这样的UserObject:

from mongoengine.django.auth import User

class MyUser(User):    
      username = StringField()
      firstname = StringField()
      ...

这样的查询:

user = MyUser.objects.get(username='Katyss').only('firstname')

但我得到这样的东西:

  

MyUser对象没有'only'属性

有什么想法吗?

修改

关于 Daniel Roseman 的帖子,我尝试将onlyfilter一起使用。但是我收到以下错误消息:

  

error_message“:”强制转换为Unicode:需要字符串或缓冲区,找到NoneType“

谷歌发现这个错误我发现一个人声称在模型/文档中使用unicode()函数会有所帮助。但是我想要这个only - 选择这一次 - 不是每次都这样。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

only是一个QuerySet方法。它用于返回仅包含所选属性的实例列表。您使用了get,它返回一个实例,而实例没有该方法。

但我确信你实际上并不需要它。除非你的MyUser模型上有数百个属性,否则只需获取整个实例并使用你需要的东西就不会那么低效。