我正在尝试从对象中选择一些属性。该文件说我应该只使用。
我有这样的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 的帖子,我尝试将only
与filter
一起使用。但是我收到以下错误消息:
error_message“:”强制转换为Unicode:需要字符串或缓冲区,找到NoneType“
谷歌发现这个错误我发现一个人声称在模型/文档中使用unicode()函数会有所帮助。但是我想要这个only
- 选择这一次 - 不是每次都这样。有什么想法吗?
答案 0 :(得分:2)
only
是一个QuerySet方法。它用于返回仅包含所选属性的实例列表。您使用了get
,它返回一个实例,而实例没有该方法。
但我确信你实际上并不需要它。除非你的MyUser模型上有数百个属性,否则只需获取整个实例并使用你需要的东西就不会那么低效。