0
我有以下django代碼工作在sqlite數據庫,但由於某些未知的原因,我得到一個語法錯誤,如果我改變後端MySQL ... django的ORM治療過濾在MySQL中不同?正確Django的ORM語法,使此代碼在MySQL中工作
def wsjson(request,imei):
wstations = WS.objects.annotate(latest_wslog_date=Max('wslog__date'),latest_wslog_time=Max('wslog__time'))
logs = WSLog.objects.filter(date__in=[b.latest_wslog_date for b in wstations],time__in=[b.latest_wslog_time for b in wstations],imei__exact=imei)
data = serializers.serialize('json',logs)
return HttpResponse(data,'application/javascript')
該代碼基本上從WSlog中獲取與WS中每個記錄對應的最新日誌,並將其序列化爲json。
模型被定義爲:
class WS(models.Model):
name = models.CharField(max_length=20)
imei = models.CharField(max_length=15)
description = models.TextField()
def __unicode__(self):
return self.name
class WSLog(models.Model):
imei = models.CharField(max_length=15)
date = models.DateField()
time = models.TimeField()
data1 = models.DecimalField(max_digits=8,decimal_places=3)
data2 = models.DecimalField(max_digits=8,decimal_places=3)
WS = models.ForeignKey(WS)
def __unicode__(self):
return self.imei
你得到的錯誤是什麼? – 2010-05-25 16:09:39
我剛剛重新檢查我的代碼和語法錯誤消失了,但是使用mysql我沒有從數據庫中得到任何東西(wsjson結果爲[]),但與sqlite工作正常 – gtujan 2010-05-25 16:26:13