首先,我创建了一个管理用户和两个模型
class Tcu user = models.ForeignKey(User) imei = models.CharField(max_length=30, unique=True) class Position tcu = models.ForeignKey(Tcu) latitude = models.CharField(max_length=30) longitude = models.CharField(max_length=30) gps_date = models.CharField(max_length=20) speed = models.CharField(max_length=10, null=True, blank=True) heading = models.CharField(max_length=10, null=True, blank=True)
之后,我手动将管理员用户分配给两个tcu。在
第一个Tcu有三个位置数据:
^{pr2}$第二个Tcu有两个位置数据:
{"latitude": "10", "longitude": "10"}, {"latitude": "11", "longitude": "11"}
之后,我创建了一个视图,以便获得两个TCU的最后位置。在
def tcu_position(request): current_user_id = request.user.id tcu_pos = Position.objects.filter(tcu_id__user_id=current_user_id).values('latitude', 'longitude').order_by('-id')[:1:1] return JsonResponse ({'json_position_list': list(tcu_pos)})
结果是我只得到第二个TCU的最后一个位置:
{"latitude": "11", "longitude": "11"}
如何从第一和第二TCU获得最后一个位置?在
如果我理解正确,您想要属于当前用户的每个Tcu的最后位置?如果是,以下操作应有效:
有人可能会证明我错了,但我不认为有一种简单的方法可以在不迭代Tcu集的情况下得到您想要的东西。。。在
编辑:如果您有没有}:
^{pr2}$position
的Tcu
,您可能需要过滤掉它们(最好是在Queryset
级别),以避免{相关问题 更多 >
编程相关推荐