5
我有兩種模式,以某種方式與'through'表有許多關係?我可以將經理添加到多人關係嗎?
class Bike(models.Model):
nickname = models.CharField(max_length=40)
users = models.ManyToManyField(User, through='bike.BikeUser')
的BikeUser類
class BikeUser(models.Model):
bike = models.ForeignKey(Bike)
user = models.ForeignKey(User)
comment = models.CharField(max_length=140)
我想將功能添加到Bike類與用戶的工作,有沒有這樣做的最佳實踐方法。我想,以避免增加過多的方法來Bike類和相當有某種經理通過
喜歡的東西的工作:
bike.bikeusers_set.commonMethod()
或
bike.bikeusers.commonMethod()
什麼是最好的方法來完成這個?
謝謝,這就像一個魅力工作! Howerver,如果我從instanciated Bike呼叫經理 bike.bikeuser_set.commonMethod() 如何從commonMethod內訪問「bike」? (這應該是一個新問題嗎?) – Joelbitar 2010-10-02 18:19:40
我想你必須添加它作爲一個函數參數:def commonMethod(self,bike)並且像這樣使用它:bike.bikeuser_set.commonMethod(bike) – OmerGertel 2010-10-02 18:57:49
那就是我'v一直在做,我認爲有更好的辦法,非常感謝你! – Joelbitar 2010-10-02 20:38:57