【发布时间】:2019-10-25 21:57:39
【问题描述】:
我有一个不清楚的任务。我需要找到一个存在于两个用户中的对象。
例如。每个用户都有AdditionalInfo,我也有表AddInfoTeam 我有ManyToMany 关系:
class AddInfoTeam(models.Model):
add_info = models.ForeignKey(AdditionalInfo,
on_delete=models.CASCADE)
team = models.ForeignKey(Team,
on_delete=models.CASCADE)
每个用户都可以存在于多个团队中。
例如,我有 2 个用户 - user1 和 user2。我需要找出他们在一起的团队。
这是我的示例代码:
# get additional info for user1
add_info_dealer = AdditionalInfo.objects.get(user=dealer)
# get additional info for user2
add_info_grower = AdditionalInfo.objects.get(user=grower)
# get all teams for user 1
dealer_teams = AddInfoTeam.objects.filter(add_info=add_info_dealer)
# # get all teams for user 2
grower_teams = AddInfoTeam.objects.filter(add_info=add_info_grower)
# this is bad code, i try to find someting better than this:
for dealer_team in dealer_teams:
for grower_team in grower_teams:
if grower_team.id == dealer_team.id:
return grower_team
【问题讨论】: