2011-05-13 36 views
0

我知道我可以使用python自己的功能工具集,但我希望在Django中有这种方法。如何根据lambda表达式结果过滤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来解决这个问题?

回答

6

You're doing it wrong

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

是的,这是为我做的。 – nemesisfixx 2011-05-13 12:03:50