0

これが私のメニューモデルです:

class Menu(models.Model):
    name = CharField(max_length=255)
    shop = ForeignKey(Shop)
    is_active = BooleanField(default=False)

必要なのは、ShopResourceで、ShopResource.menuがアクティブなMenuオブジェクトのみを返すことです。アクティブなMenuオブジェクトが常に1つあるためです。

ShopResourceで、私は次のことを試みています。

def dehydrate(self, bundle):
    bundle.data['menu'] = bundle.obj.menu_set.get(is_active=True)
    return bundle

ただし、ShopResource.menuは、アクティブなメニューオブジェクトの文字列表現です。私は推測します、私は何かをシリアル化する必要があります。

何か案が?

4

1 に答える 1

0

リソースの詳細 (つまり、リソースのソース コード) を提供していないため、必要なものと現在の状況を正確に把握するのは少し困難です。

ただし、必要なものを取得するには、属性パラメーターを次のように呼び出し可能に指定する必要があると思います。

attribute=lambda bundle: Menu.objects.filter(shop=bundle.obj, active=True)

これにより、M2M 関係内でオブジェクトをフィルタリングできます。

Tastypie は多くを語ることはありませんが ( Tastypie のドキュメントを参照してください)、うまくいけば、これで始めることができます。

于 2012-09-06T01:37:07.567 に答える