Ich raufe mir hier die Haare, weil es bei mir nicht funktioniert, obwohl es eigentlich so sein sollte.
Ich bin mit Django-Piston, eine API zu entwickeln und haben 2 Modelle, Gebäude und Gebäudebereich.
BuildingArea hat einen ForeignKey zu Building, da es mehrere Bereiche in einem Gebäude gibt. Die Eigenschaft "related_name" für den FK ist "areas", sodass ich von einem bestimmten Gebäude aus auf die BuildingAreas zugreifen kann.
Das Problem ist, dass alles in Admin gut aussieht, aber wenn ich den Endpunkt /api/building.json aufrufe, erhalte ich nur das Building-Objekt ohne die verschachtelten BuildingArea-Objekte, die im JSON enthalten sind.
Ich hätte gedacht, dass Django-Piston standardmäßig umgekehrten FK-Feldern folgen würde, oder übersehe ich etwas?
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