小编Ash*_*mah的帖子

如何让Django-Piston在序列化输出中包含相关的子对象?

我把头发拉到这里是因为这对我不起作用,看起来应该是这样.

我正在使用Django-Piston开发API并拥有2个模型,Building和Building Area.

BuildingArea有一个ForeignKey to Building,因为建筑物中有多个区域.FK的'related_name'属性是'areas',因此我可以从给定的Building访问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()
Run Code Online (Sandbox Code Playgroud)

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 
Run Code Online (Sandbox Code Playgroud)

django foreign-keys django-piston

12
推荐指数
1
解决办法
3071
查看次数

标签 统计

django ×1

django-piston ×1

foreign-keys ×1