3

私はこれをやっています:

p = MyModel.objects.filter(user__username="me").annotate(friend_count=Count(friends))

私が見るとき:

p[0]._meta.get_all_field_names()

モデルで定義されているすべてのものを返しますが、注釈付きフィールド'friend_count'は返しません。

特定のモデルインスタンスのすべての注釈付きフィールドを表示するために使用できる関数はありますか?

4

2 に答える 2

0

注釈は単純なインスタンス属性として保存されます (ORM フィールド FWIW の値と同様)。を使用dir(my_model_instance)して、すべての属性 (クラスおよびインスタンスのもの) の名前を表示するmy_model_instance.__dict__.keys()ことも、プレーンなインスタンスの属性のみを表示することもできます。

于 2012-07-04T18:10:11.603 に答える