2

Python Requests を使用して Tasty-Pie 対応の Django アプリをクエリするアプリがあります。

Application というモデルがあり、対応する Tasty-Pie リソースがあります。

このモデル/リソースには、アプリケーションを他のモデル (バイナリ、ホスト、コロケーションなど) にリンクするいくつかの外部キーがあります。

Tasty-Pie フィルターを使用してアプリケーションのサブセットを取得しています。次に、関連するモデルのいくつかのフィールドと共に、アプリケーションの適切なテーブルを出力したいと考えています。

現在、次を使用してアプリケーションのテーブルを取得しています。

def get_applications(self, parsed_args):
    r = requests.get('http://foobar.com:8000/api/v1/application/?name__iregex={0}&format=json'.format(parsed_args.applications))
    print(r.url)
    return r  
def application_iter(self, parsed_args):
    for application in self.get_applications(parsed_args).json['objects']:
        yield (application['name'], application['author'], application['some_other_field'])
def take_action(self, parsed_args):
    return(('Name', 'Author', 'Some Other Field),
            self.application_iter_iter(parsed_args),
        )

私の質問は、「推奨される」、または関連するすべてのフィールドを引き込む慣用的な方法は何ですか? これを行うために上記を拡張する方法はありますか?

full=Trueこれは悪い習慣であり、リソース URI を使用する方がよい方法であるという印象を受けます。

リクエスト数と DB ヒット数を最小限に抑えながら、これを行うにはどうすればよいですか?

乾杯、ビクター

4

1 に答える 1

0

なぜ full=True が悪いと思いますか?

https://django-tastypie.readthedocs.org/en/latest/resources.html#why-resource-uris

イデオロギーはさておき、自分に合ったものを使用する必要があります。リクエスト数とエンドポイント数を減らしたい場合は、full=True を使用できますが、各アプローチの結果に注意してください。

きれいに読めて、やりたいことができれば、何をしてもいい。「full=True」は、開発者が使用するためにあります

于 2013-02-16T20:15:27.383 に答える