django プロジェクトでフレンド リクエストのクラスベース ビューを動作させようとしていますが、エラーが発生し続けます。私が現在得ているエラーは次のとおりです: TypeError at /friend_request/joe int() 引数は、「ユーザー」ではなく、文字列、バイトのようなオブジェクト、または数値でなければなりません
ただし、私の Friend モデルは 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:
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() エラーはどこから来ているのですか?どうすれば修正できますか?