Django Tastypie 包含来自模型的 def 作为资源的属性之一



我有:

class Item(models.Model):
    # some fields like name,  quantity
    def get_first_image(self):
        instance = ItemImage.objects.filter(parent_id = self.id)[0]
        return instance.images
class ItemImage(models.Model):
    # parent with foreignkey to Item and an ImageField to store images

如何使用 tastypie 检索get_first_image的值?

您可以尝试对要"合成"的字段使用具有每个字段脱水的自定义资源,例如

# Imports etc omitted
class ItemResource(ModelResource):
    # some fields like name,  quantity
    first_image = fields.ImageField(readonly=True)
    def dehydrate_first_image(self):
        instance = ItemImage.objects.filter(parent_id = self.id)[0]
        return instance.images

您可以在 tastypie 资源文档中获取有关资源的更多信息

这种"每字段脱水",再加上像上面这样的只读字段应该可以做到。

最新更新