查询Django中的子查询 [英] Query of a subquery in Django
本文介绍了查询Django中的子查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的模型
class Place(models.Model):
coordinate = models.PointField()
class TranslatedPlace(models.Model):
place = models.ForeignKey(Place)
我的视图
near_coordinates = Place.objects.filter(coordinate__distance_lte =(place_obj.coordinate,D(km = 100)))
近_places = TranslatedPlace.objects.filter(place = near_coordinates)
解决方案
我相信你会想使用在过滤第二个查询器
near_coordinates = Place.objects.filter(coordinate__distance_lte =(place_obj.coordinate ,D(km = 100)))
near_places = TranslatedPlace.objects.filter(place__in = near_coordinates)
I'm trying to do a query from another query, but Django said: 'Caught DatabaseError while rendering: subquery returns more than 1 row.' I'm using 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)
解决方案
I believe you'll want to use in to filter the second queryset
near_coordinates = Place.objects.filter(coordinate__distance_lte=(place_obj.coordinate, D(km=100)))
near_places = TranslatedPlace.objects.filter(place__in=near_coordinates)
这篇关于查询Django中的子查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文