0

我试图从一个对象中选择一些属性。医生说我应该只使用。

我有这样的用户对象:

from mongoengine.django.auth import User

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

和这样的查询:

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

但我得到这样的东西:

MyUser 对象没有“仅”属性

有任何想法吗?

编辑:

关于Daniel Roseman的帖子,我尝试使用onlywith filter。但我收到以下错误消息:

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

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

4

1 回答 1

3

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

但是,我敢肯定,您实际上并不需要它。除非您的 MyUser 模型上有数百个属性,否则仅获取整个实例并使用您需要的内容并不会显着降低效率。

于 2012-08-21T17:24:02.170 回答