Django Tastypie を使用して、関連 (ToOne) フィールドを持つモデルを別のモデル リソースに公開しています。ウリは次のとおりです。
/api/map/?format=json
full_pages
関連する完全なページ リソースを取得するために、クライアントに url パラメータを含めさせたいと考えています。/api/map/?full_pages=1&format=json
Relationship Fields docsをよく理解していませんが、get_full
callable を作成しました:
def get_full(bundle):
if bundle.request.GET.get('full_pages', 0):
return True
return False
full
の引数にcallable を渡そうとしましたToOneField
:
from tastypie.contrib.gis import resources as gis_resources
class MapResource(gis_resources.ModelResource):
page = fields.ToOneField('pages.api.PageResource', 'page', full=get_full)
しかし、pdbで確認すると、get_full
呼び出されません。
それで、私は属性を持つカスタムFillableToOneField
を作成しようとしました:full
class FillableToOneField(fields.ToOneFIeld):
full = get_full
class MapResource(ModelResource):
page = FillableToOneField('pages.api.PageResource', 'page')
繰り返しますが、get_full
呼び出されることはありません。
これを行うためのより良い、より簡単な方法はありますか?