我在这里拉头发,因为这对我不起作用,而且似乎应该如此。
我正在使用 Django-Piston 开发 API,并有 2 个模型,即建筑和建筑区域。
BuildingArea 有一个建筑外键,因为建筑中有多个区域。FK 的“related_name”属性是“areas”,因此我可以从给定的建筑物访问 BuildingAreas。
问题是它在 Admin 中看起来一切都很好,但是当我点击 /api/building.json 端点时,我得到的只是 Building 对象,而没有 JSON 中包含的嵌套 BuildingArea 对象。
我原以为 Django-Piston 默认会遵循反向 FK 字段,还是我遗漏了什么?
处理程序.py
class BuildingHandler(BaseHandler):
allowed_methods = ('GET',)
model = Building
def read(self, name=None):
return self.model.objects.all()
模型.py
class Building(models.Model):
address = models.CharField(max_length=255)
def __unicode__(self):
return self.address
class BuildingArea(models.Model):
display_name = models.CharField(max_length=30)
building = models.ForeignKey(Building, related_name='areas')
def __unicode__(self):
return self.display_name