Python Django视图仅返回QuerySet一部分的数据

Python Django视图仅返回QuerySet一部分的数据,python,django,Python,Django,我正在尝试将以下内容发送到前端: 用户在谷歌地图上的一组特定地理坐标范围内“喜欢”的对象(本例中为场地) 我的视图当前的设置方式似乎只是发回用户关注的人的id,而不是他们喜欢的任何咖啡馆(我正在一个肯定存在这种情况的空间中进行测试)。我不知道如何解决这个问题 Views.py def get_friends(request): template_name = 'testingland/electra.html' neLat = request.GET.get('neLat',

我正在尝试将以下内容发送到前端:

  • 用户在谷歌地图上的一组特定地理坐标范围内“喜欢”的对象(本例中为场地)
我的视图当前的设置方式似乎只是发回用户关注的人的id,而不是他们喜欢的任何咖啡馆(我正在一个肯定存在这种情况的空间中进行测试)。我不知道如何解决这个问题

Views.py

def get_friends(request):
    template_name = 'testingland/electra.html'
    neLat = request.GET.get('neLat', None)
    neLng = request.GET.get('neLng', None)
    swLat = request.GET.get('swLat', None)
    swLng = request.GET.get('swLng', None)
    ne = (neLat, neLng)
    sw = (swLat, swLng)

    xmin = float(sw[1])
    ymin = float(sw[0])
    xmax = float(ne[1])
    ymax = float(ne[0])
    bbox = (xmin, ymin, xmax, ymax)

    geom = Polygon.from_bbox(bbox)

    friends = UserConnections.objects.filter(
    follower=request.user
    )

    cafes = mapCafes.objects.filter(
        geolocation__coveredby=geom,
        uservenue__user_list__user__pk__in=friends
    ).distinct()
    
    friend_list = [[friend.followed.username] for friend in friends]
    friend_cafe_list = [[cafe.cafe_name, cafe.cafe_address, cafe.geolocation.y, cafe.geolocation.x] for cafe in cafes]
    
    return JsonResponse([
            {
    'friends': friend_list,
    'cafes': friend_cafe_list
    }
    ], safe=False)
Models.py

class mapCafes(models.Model): 
    id = models.BigAutoField(primary_key=True)
    cafe_name = models.CharField(max_length=200)
    cafe_address = models.CharField(max_length=200)
    cafe_long = models.FloatField()
    cafe_lat = models.FloatField()
    geolocation = models.PointField(geography=True, blank=True, null=True)
    venue_type = models.CharField(max_length=200)
    source = models.CharField(max_length=200)
    description = models.CharField(max_length=1000)
    image_embed = models.CharField(max_length=10000)

    class Meta:
        managed = False
        db_table = 'a_cafes'

    def __str__(self):
        return self.cafe_name
[...]

class UserConnections(models.Model):
    follower = models.ForeignKey(User, related_name="following", on_delete=models.CASCADE)
    followed = models.ForeignKey(User, related_name="followers", on_delete=models.CASCADE)