我正在建立一个社交网络,用户应该可以互相跟踪。所以我用一个字段定义了一个类用户:manytomany来存储跟在这个用户后面的用户。这就是我在model.py中所做的:

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

这是我的观点.py:
@login_required
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_user.followings # display my_app.Dater.None
    current_user.followings.add(user_followed)
    print current_user.followings # display my_app.Dater.None

我正确地检索了我的用户(当前用户(跟踪某人的用户)和后续用户),但是我不能将后续用户添加到当前用户的后续集合中。在我看来,你能看到一些我做得不对的事情吗?

最佳答案

followings是一个管理器;要显示该关系的成员,您需要对其调用.all()(或调用另一个manager/queryset方法,如order_by)。

print current_user.followings.all()

关于python - 在Django中使用ManyToManyFields(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41534657/

10-11 06:41