如何在Django中获取外键值?

2024-09-30 10:33:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下三种模式:

ButuanMaps,所有者,LandProperty

class ButuanMaps(gismodel.Model):
    class Meta:
        verbose_name = u'Butuan Map'
        verbose_name_plural = u'Butuan Maps'

    clandpin = gismodel.CharField("Land PIN", max_length=50, 
                                   null=True, blank=True)
    ssectionid = gismodel.ForeignKey(Section)
    #ssectionid_id = gismodel.IntegerField()
    geom = gismodel.MultiPolygonField("Geom ID", srid=32651, 
                                   null=True, blank=True)
    objects = gismodel.GeoManager()

    def __unicode__(self):
        return self.clandpin


class LandProperty(models.Model):
    DEFAULT_OWNER_ID = 5
    class Meta:
        verbose_name = u'Land Property'
        verbose_name_plural = u'Land Properties'
    ctaxdec = models.CharField("Tax Declaration", max_length=50, 
                                null=True, blank=True)
    sgeomid = models.ForeignKey(ButuanMaps)

    def __unicode__(self):
        return self.sgeomid.clandpin


class Owner(models.Model):
    user= models.OneToOneField(User)
    spersonid = models.ForeignKey(Information)
    User.profile = property(lambda u: Owner.objects.get_or_create(user=u)[0])

    def __unicode__(self):
        return self.spersonid.cfirstname

我想在Owner的基础上从ButuanMaps得到所有的geom,并且从LandProperty模型得到每个geom中的信息。我尝试了这个查询集,但失败了: ButuanMaps.objects.filter(ssectionid=5).select_related('landproperty__owner')


Tags: nameselftrueverbosemodelmodelsnullclass

热门问题