将ManyToManyFields()与Django一起使用

时间:2017-01-08 16:02:49

标签: python django database sqlite

我正在构建一个社交网络,用户应该能够互相关注。因此,我使用字段定义了一个类用户:ManyToMany来存储关注该用户的用户。这就是我在 model.py

中所做的
followings = models.ManyToManyField('self', blank=True)

这是我的 view.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

我正确检索了我的用户(当前(关注某人的人)和随后的用户)但我无法在当前用户的以下设置中添加关注用户。在我看来,你能否看到我做得不好的事情?

1 个答案:

答案 0 :(得分:2)

followings是经理;要显示该关系的成员,您需要在其上调用.all()(或其他管理器/查询集方法,如order_by)。

print current_user.followings.all()