Django models django tastypie:如何从多个关系中仅获取一个对象?

Django models django tastypie:如何从多个关系中仅获取一个对象?,django-models,tastypie,Django Models,Tastypie,这是我的菜单模式: class Menu(models.Model): name = CharField(max_length=255) shop = ForeignKey(Shop) is_active = BooleanField(default=False) 我需要的是,在ShopResource中,ShopResource.menu只返回活动菜单对象。因为始终有一个活动菜单对象 在ShopResource中,我正在尝试: def dehydrate(self,

这是我的菜单模式:

class Menu(models.Model):
    name = CharField(max_length=255)
    shop = ForeignKey(Shop)
    is_active = BooleanField(default=False)
我需要的是,在ShopResource中,ShopResource.menu只返回活动菜单对象。因为始终有一个活动菜单对象

在ShopResource中,我正在尝试:

def dehydrate(self, bundle):
    bundle.data['menu'] = bundle.obj.menu_set.get(is_active=True)
    return bundle
但是ShopResource.menu是活动菜单对象的字符串表示形式。我想,我需要序列化一些东西


有什么想法吗?

因为您没有提供任何资源的详细信息(即资源的源代码),所以很难准确地确定您需要什么以及您当前的情况

但是,我认为,为了获得所需的内容,您可能需要将属性参数指定为可调用的,如下所示:

attribute=lambda bundle: Menu.objects.filter(shop=bundle.obj, active=True)
这允许过滤M2M关系中的对象


Tastypie没有说太多(请参阅),但希望这会让您开始学习。

您是否有Meta:queryset=Shop之类的工具?