2

我正在寻找使用 Inner Join 的特定原始 SQL 查询。

我有这些模型:

class EzMap(models.Model):
    layers = models.ManyToManyField(Shapefile, verbose_name='Layers to display', null=True, blank=True)


class Shapefile(models.Model):
    filename = models.CharField(max_length=255)


class Feature(models.Model):
    shapefile = models.ForeignKey(Shapefile)

我想让一个 SQL 查询对 PostgreSQL 有效,就像这样:

select id from "table_feature" where' shapefile_ezmap_id = 1 ;

但我不知道如何使用INNER JOIN来过滤它们所属的位置与特定features对象相关shapefileezmap

4

1 回答 1

1

像这样的东西:

try:
    id = Feature.objects.get(shapefile__ezmap__id=1).id
except Feature.DoesNotExist:
    id = 0 # or some other action when no result is found

如果要处理多个结果,则需要使用filter( 而不是)。getFeature

于 2013-07-22T02:46:36.777 回答