我正在尝试让朋友请求基于类的视图在 django 项目上工作,但不断出错。我目前得到的错误是:/friend_request/joe int() 参数的 TypeError 必须是字符串、类似字节的对象或数字,而不是“用户”
我的朋友模型不是在寻找一个 int() ,所以我不确定发生了什么。
基于类的视图:
class AddFriend(APIView):
def get(self, request, username):
friend = User.objects.get(username=username)
current_user = request.user.username
f = Friend(current_user, friend, 1)
f.save()
网址:
url(r'^friend_request/(?P<username>[\w.@+-]+)', AddFriend.as_view(), name = 'add_friend'),
模型:
class Friend(models.Model):
#static variables for friend_status attribute
FRIENDS = 1
A_REQUESTS_B = 2
B_REQUESTS_A = 3
friend_A = models.ForeignKey(User, related_name='friend_A')
friend_B = models.ForeignKey(User, related_name='friend_B')
friend_status = models.IntegerField()
def __str__(self):
return '%s and %s friendship' % (self.friend_A, self.friend_B)
class Meta:
unique_together = (('friend_A', 'friend_B'),)
理想情况下,这个 CBV 会找出发送请求的用户是谁,找出在 url 中正在“查找”的朋友,并创建/保存新的朋友实例。这个 int() 错误来自哪里,我该如何解决?