Django REST框架中的关系?

时间:2014-04-08 09:08:56

标签: django django-queryset django-rest-framework

我正在使用serializers.GeoFeatureModelSerializer序列化模型。我有一个查询集

正在创建Left Outer Join。我想序列化相关的模型字段

这是我的模特

class LookupTiming(models.Model):
    day = models.CharField(max_length=7)
    time_1 = models.TimeField()
    time_2 = models.TimeField()

    class Meta:
        db_table = u'lookup_timing'

class Streets(models.Model):
    name = models.CharField(max_length=50)
    geometry = models.GeometryField(null=True, blank=True)
    objects = models.GeoManager()

    class Meta:
        db_table = u'streets'

    def __unicode__(self):
        return '%s' % self.name


class StreetTimings(models.Model):
    street= models.ForeignKey(Streets)
    lookuptiming = models.ForeignKey(LookupTiming)
    class Meta:
        db_table = u'street_timings'
  

queryset =   Streets.objects.filter(streettimings_ lookuptiming _isnull =真)

Serializer Class

class StreetSerializer(gis_serializer.GeoFeatureModelSerializer):

    class Meta:
        model = Streets
        geo_field = "geometry"
        id_field = False
        fields = ('id', 'streettimings__lookuptiming__day', other fields)

更新

我想在回复

上显示以下字段
Streets (id)

LookupTiming (day)

我希望这个查询的输出简单就是

SELECT "streets"."id", "lookuptiming"."day" FROM "streets"
LEFT OUTER JOIN "streettimings" ON ( "streets"."id" = "streettimings"."street_id" ) 
LEFT OUTER JOIN "lookuptiming" ON ( "streettimings"."lookuptiming_id" = "lookuptiming"."id" )

我该怎么做?

谢谢

0 个答案:

没有答案