Python 多对多字段django双向添加关系

Python 多对多字段django双向添加关系,python,django,database,many-to-many,Python,Django,Database,Many To Many,我试图做一个功能,允许用户跟随另一个。问题是,当我向“followers”添加一个新用户时,跟随另一个用户的用户也会添加到下面的跟随用户列表中。例如,如果用户a跟随用户b,我将有: view.py def follow_test(request): name = request.POST.get('name', '') user_followed = Dater.objects.get(username=name) current_user = Dater.objects

我试图做一个功能,允许用户跟随另一个。问题是,当我向“followers”添加一个新用户时,跟随另一个用户的用户也会添加到下面的跟随用户列表中。例如,如果用户a跟随用户b,我将有:

view.py

def follow_test(request):
    name = request.POST.get('name', '')
    user_followed = Dater.objects.get(username=name)
    current_user = Dater.objects.get(id=request.user.id)
    print "Current", current_user.followings.all() # display []
    print "Followed", user_followed.followings.all() # display []
    current_user.followings.add(user_followed)
    print "Current", current_user.followings.all() # display <Dater: b>
    print "Followed", user_followed.followings.all() # display <Dater: a>
我只希望用户b添加到a的以下内容中,只需为多对多字段设置related_name=“followerd_by”。这将把反向映射分配给_,后跟

followings = models.ManyToManyField('self', blank=True, symmetrical=False, related_name='followed_by')

默认情况下,self上的多对多关系是对称的。如果不希望出现这种情况,请将
symmetric
设置为False:

followings = models.ManyToManyField('self', blank=True, symmetrical=False)

请看

能否也打印输出。我不太明白您提出的解决方案。我必须设置我的模型?用修改后的模型字段更新答案。希望有帮助。让我知道你还有什么问题吗
followings = models.ManyToManyField('self', blank=True, symmetrical=False)