0

オブジェクトからいくつかの属性を選択しようとしています。ドキュメントは、私だけを使用する必要があると言っています。

次のような UserObject があります。

from mongoengine.django.auth import User

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

そして、次のようなクエリ:

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

しかし、私はこのようなものを得ます:

MyUser オブジェクトには属性「のみ」がありません

何か案は?

編集:

Daniel Rosemanの投稿に関して、私は で使用しようとonlyしましたfilter。しかし、次のエラー メッセージが表示されます。

error_message": "Unicode への変換: 文字列またはバッファが必要です。NoneType が見つかりました"

このエラーを Google で検索すると、モデル/ドキュメントで unicode() 関数を使用すると役立つと主張する人が見つかりました。しかし、私はこれが欲しいonly- 毎回ではなく、今回だけの選択. 何か案は?

4

1 に答える 1

3

onlyQuerySet メソッドです。これらの属性のみが選択されたインスタンスのリストを返すためのものです。インスタンスを返すを使用getしましたが、インスタンスにはそのメソッドがありません。

ただし、実際には必要ないことは確かです。MyUser モデルに何百もの属性がある場合を除き、インスタンス全体を取得して必要なものを使用することは、それほど効率的ではありません。

于 2012-08-21T17:24:02.170 に答える