Joe*_*tar 3 django django-models manytomanyfield
如果我有两个与直通模型有很多关系的模型,我该如何从"通过"表中获取数据.
class Bike(models.Model):
nickname = models.CharField(max_length=40)
users = models.ManyToManyField(User, through='bike.BikeUser')
Run Code Online (Sandbox Code Playgroud)
BikeUser类
class BikeUser(models.Model):
bike = models.ForeignKey(Bike)
user = models.ForeignKey(User)
comment = models.CharField(max_length=140)
Run Code Online (Sandbox Code Playgroud)
我会在该自行车上添加一个用户(假设我已经拥有了myBike和myUser)
BikeUser.objects.create(bike = myBike, user = myUser, comment = 'Got this one at a fancy store')
Run Code Online (Sandbox Code Playgroud)
我可以通过myBike.users.all()获取'myBike'上的所有用户,但我如何获得'comment'属性?
我想做点什么
for myBikeUser in myBike.users.all():
print myBikeUser.comment
Run Code Online (Sandbox Code Playgroud)
直通表由标准的ForeignKeys链接,因此您可以进行正常的ForeignKey查找.不要忘记每个自行车用户都有一个评论,即每个自行车/用户配对一个评论.
for myBikeUser in myBike.bikeuser_set.all():
print myBikeUser.comment, myBikeUser.user.first_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6039 次 |
| 最近记录: |