簡體   English   中英

如何基於lambda表達式結果過濾Django模型?

[英]How Can I filter Django Models based on lambda expression result?

我知道我本可以使用python自己的功能性工具集,但我希望Django中有解決此問題的方法。

我有這個模型:

class AssetGeoFenceEvent(models.Model):
#...
#assets, for which this event is assigned
asset = models.ForeignKey(Asset)
#...

引用的Asset模型如下:

class Asset(models.Model):
#...
client = models.ForeignKey(Client)
#....

我以為我可以:

#get all the registered events for this client
events = AssetGeoFenceEvent.objects.filter(asset.client == client)

但這失敗並顯示錯誤:

關鍵字不能是表達式

嘗試了這個,但是失敗了:

#get all the registered events for this client
events = AssetGeoFenceEvent.objects.filter(lambda a: a.client == client)

這給我一個錯誤

“功能”對象不可迭代

那么我如何使用Django做到這一點呢?

你做錯了

events = AssetGeoFenceEvent.objects.filter(asset__client=client)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM