【发布时间】:2026-01-07 07:20:10
【问题描述】:
我在这里拔头发是因为这对我不起作用,而且似乎应该如此。
我正在使用 Django-Piston 开发一个 API,并且有 2 个模型,Building 和 Building Area。
BuildingArea 有一个建筑外键,因为建筑中有多个区域。 FK 的“related_name”属性是“areas”,因此我可以从给定的建筑物访问 BuildingAreas。
问题是在 Admin 中一切看起来都很好,但是当我点击 /api/building.json 端点时,我得到的只是 Building 对象,而 JSON 中没有包含嵌套的 BuildingArea 对象。
我原以为 Django-Piston 默认会遵循反向 FK 字段,还是我遗漏了什么?
handlers.py
class BuildingHandler(BaseHandler):
allowed_methods = ('GET',)
model = Building
def read(self, name=None):
return self.model.objects.all()
models.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
【问题讨论】:
标签: django foreign-keys django-piston