我知道這個問題在這裏討論,但我真的不能得到這個工作... :( 我有這個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