0

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() エラーはどこから来ているのですか?どうすれば修正できますか?

4

0 に答える 0