嗨 Stackoverflow 人,
我对 Django 中的 m2m 查询感到困惑。我有一个模型 RadioStations 列出了一个大陆周围的广播电台(简称名称和可用国家),并具有以下声明:
class Station(models.Model):
name = models.CharField(_('Station Name'), max_length=255
reference = models.URLField(_('Link'), blank=True, verify_exists=True)
country = models.ManyToManyField(WorldBorder)
WorldBorder 类遵循此处的 GeoDjango 示例。
现在我想搜索美国的所有电台。如果我使用:
s = Station.objects.filter(country__name__contains = "United States")
我得到了美国的所有电台。但是,如果我现在使用用户位置进行搜索,例如
pnt = fromstr('POINT(-96.876369 29.905320)', srid=4326)
s = Station.objects.filter(country__mpoly__contains = pnt)
查询的结果是空的(即使该点位于美国 这是否与进行 m2m 查询的方式有关?为什么查询的结果会是空的?是否有解决 m2m 关系的不同方式?
谢谢你的建议!