Django在API中进行反向查找

时间:2014-01-05 21:29:02

标签: python django django-models tastypie

我想知道如何在我的TastyPie api / house电话中获取所有相关动物的清单:

例如:

众议院模特:

class House(models.Model):
    description = models.CharField(max_length=250, blank=True)
    user = models.ForeignKey(settings.AUTH_USER_MODEL)

每个房子可以有以下一个或多个:

class Dog(models.Model):
      name = models.CharField(max_length=250)
      house = models.ForeignKey(House, null=True)

class Cat(models.Model):
      name = models.CharField(max_length=250)
      house = models.ForeignKey(House, null=True)

class Hamster(models.Model):
      name = models.CharField(max_length=250)
      house = models.ForeignKey(House, null=True)

class Fish(models.Model):
      name = models.CharField(max_length=250)
      house = models.ForeignKey(House, null=True)

返回:

[
{
id: 1,
description: "Test Offer22",
user: {
date_joined: "2014-01-02T18:39:40",
email: "me@something.org",
id: 1,
is_active: true,
last_login: "2014-01-05T15:44:30"
}
},

我希望在这个JSON中还可以看到与房子有关的所有动物的列表,即猫,狗。这可以在Tastypie中完成吗?我读过Lookups that span relationships这就是我在这之后的事情吗?如果你知道我的意思是

,我真的不明白你是如何从'wrong'那边得到关系的

1 个答案:

答案 0 :(得分:1)

我认为您正在为full=True argument寻找related fields。例如:

class HouseResource(ModelResource):
    dogs = fields.ToManyField('DogResource', 'dog_set', full=True)