Garage.cars:對象車庫擁有汽車如何比較列表,並獲得總匹配項目數
Person.carwishlst的FK:對象者有FK車,他們想的。
在Django中如何我實現以下,循環?...
獲取汽車X該人的總數量相匹配的那些車庫有哪些。
結果: 即田莊有4臺車,你想
假設,但可以說,田莊模型有一個FK車= models.ManyToManyField(汽車)
人也有一個FK cars_wishlist =模型.ManyToManyField(汽車)
Garage.cars:對象車庫擁有汽車如何比較列表,並獲得總匹配項目數
Person.carwishlst的FK:對象者有FK車,他們想的。
在Django中如何我實現以下,循環?...
獲取汽車X該人的總數量相匹配的那些車庫有哪些。
結果: 即田莊有4臺車,你想
假設,但可以說,田莊模型有一個FK車= models.ManyToManyField(汽車)
人也有一個FK cars_wishlist =模型.ManyToManyField(汽車)
假設cars
和carwishlst
是列表:
你會做以下
def cars_you_want(cars, carwishlst):
car_set = [val for val in cars if val in carwishlst]
return len(car_set)
應該這樣做。
它們是直接來自相關對象的模型。把它們變成一個列表? – Prometheus 2013-02-16 17:28:18
將你的模型粘貼到問題中 – myusuf3 2013-02-16 17:29:29
它只是假設的,但讓我們說讓格蘭奇模型有一個FK車= models.ManyToManyField(Cars)Person也有一個FK cars_wishlist = models.ManyToManyField(汽車) – Prometheus 2013-02-16 17:33:29
假設Garage.cars
和Person.carwishlist
都列出其包含的車有一個合理的__eq__
方法:
numberOfWishedCarsInGarage = len (set (garageX.cars) & set (personX.carwishlist))
'set'是什麼?我以前沒有見過,它是做什麼的? – Prometheus 2013-02-16 17:29:21
一組是獨特項目的集合http://docs.python.org/3.2/library/stdtypes.html#set-types-set-frozenset – Hyperboreus 2013-02-16 18:01:48
你應該使用'set()':http://docs.python.org/2/library/stdtypes.html#set – Zulu 2013-02-16 17:27:10