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