Как я могу фильтровать модели Django на основе результатов лямбда-выражения? - PullRequest
0 голосов
/ 13 мая 2011

Я знаю, что мог бы использовать собственный функциональный набор инструментов 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)

Что дает мне ошибку

Объект 'function' не повторяется

Так как я могу осуществить это с помощью Django?

1 Ответ

6 голосов
/ 13 мая 2011

Вы делаете это неправильно .

events = AssetGeoFenceEvent.objects.filter(asset__client=client)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...