我正在建立一个社交网络,用户应该可以互相跟踪。所以我用一个字段定义了一个类用户: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/