我知道这个问题在这里讨论,但我真的不能得到这个工作... :( 我有这个DeviceLocation型号:Django的“独特”返回多个值
class DeviceLocation(models.Model):
device = models.ForeignKey(Device, related_name='locations', null=True, on_delete=models.SET_NULL)
device_imei = models.CharField(max_length=20)
user = models.ForeignKey(User, related_name='device_locations', null=True, on_delete=models.SET_NULL)
user_username = models.CharField(max_length=30, null=True)
timestamp = models.DateTimeField()
latitude = models.FloatField()
longitude = models.FloatField()
accuracy = models.FloatField()
speed = models.FloatField()
我想获得最后的位置为每个不同的设备,在最后5分钟,所以,我想这样的:。
time_now = datetime.now()
time_from = time_now.replace(minute=time_now.minute - 5)
last_device_locations = DeviceLocation.objects.filter(timestamp__range=(time_from, time_now)).distinct('device')
的事情是,不同的是不工作...返回多个结果同一设备 我搜索并使用值找到解决方法,即使如此我也无法做到:
DeviceLocation.objects.filter(timestamp__range =(time_from,TIME_NOW))值( '装置', '时间戳')ORDER_BY( '设备')不同的( '设备')。
但是这仍然无法正常工作... :( 任何提示?
谢谢!
根据[文档](https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.distinct)将字段名称传递给'distinct( )'仅在PostgreSQL中受支持。你在使用PostgreSQL吗? – 2012-01-13 16:51:42
更重要的是,它是一个Django 1.4功能。你正在运行树干还是阿尔法? – Alasdair 2012-01-13 16:56:05
@isbadawi我正在运行PGSQL ... – 2012-01-13 17:01:55