Django 中子查询的查询

2024-02-27

我正在尝试从另一个查询执行查询,但 Django 说:“渲染时捕获数据库错误:子查询返回超过 1 行。”我正在使用 PostGis。

my model

class Place(models.Model):    
    coordinate = models.PointField()

class TranslatedPlace(models.Model):
    place = models.ForeignKey(Place)

my view

  near_coordinates = Place.objects.filter(coordinate__distance_lte=(place_obj.coordinate, D(km=100)))
  near_places = TranslatedPlace.objects.filter(place=near_coordinates)

我相信你会想使用in https://docs.djangoproject.com/en/dev/ref/models/querysets/#in过滤第二个查询集

near_coordinates = Place.objects.filter(coordinate__distance_lte=(place_obj.coordinate, D(km=100)))
near_places = TranslatedPlace.objects.filter(place__in=near_coordinates)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 中子查询的查询 的相关文章

随机推荐