1

クエリセット スタイルのルックアップのリストを生成することに興味がありましたが、これが思いつきました。これを行うより良い方法はありますか?

["%s__%s" % (f.name, b.name) \
     for f in Foo._meta._fields() \
     if isinstance(f, django.db.models.fields.related.ForeignKey)\
     for b in f.related.parent_model._meta._fields()]

実際には、私はこのようなことをします、

fields = ["%s__%s" % (f.name, b.name) \
     for f in Foo._meta._fields() \
     if isinstance(f, django.db.models.fields.related.ForeignKey)\
     for b in f.related.parent_model._meta._fields()]

 return Foo.values_list(*fields)

これにより、データベースの正規化されていないコレクションが返されます。もっと良い方法がなければならないと考えています。_metaand属性を使用しない_fieldsもの。または単にこれを行うQuerySetオブジェクトの一部です。私はそれを見つけることができませんでした。

django-compositionは見つかりましたが、README ファイルだけでは何をするのかわかりません。

4

0 に答える 0