У меня есть веб-приложение с функцией друзей, которое работает, за исключением небольшого сохранения текущего пользователя в запрашиваемом пользователе ManyToManyField.
Вот моя модель
friends = models.ManyToManyField(User,blank=True,related_name='user_connections')
И мой взгляд
class AddFriendRedirect(RedirectView):
def get_redirect_url(self,*args,**kwargs):
username = self.kwargs.get("username")
obj = get_object_or_404(UserProfileInfo,slug=username)
# print(f'OBJECT: {other}')
# print(f'Current user: {self.request.user}')
# user_profile = User.objects.get(username=username)
url_ = obj.get_absolute_url()
user = self.request.user
user_ = self.request.user.username
# user__ =
print(f"HEY YOU! YE! \n{username}\n{obj}\n{url_}\n{user}")
if user.is_authenticated:
print("User is authenticated")
if user in obj.friends.all():
obj.friends.remove(user)
user.user_connections.remove(obj)
user.save()
else:
obj.friends.add(user)
user.user_connections.add(obj)
user.save()
return url_
И, наконец, мои URL
path('profile/<str:username>/add/',views.AddFriendRedirect.as_view(),name='add_friend'),
Все работает, кроме сохранения для user.user_connections.add (obj). На obj.friends.add (пользователь) он добавляет текущего пользователя в их поле Manytomany, но он просто не работает с пользователем user.user_connections.add (obj). Я перепробовал кучу вещей, в том числе
user.friends.add(obj)
user.userprofileinfo.friends.add(obj)
user.userprofileinfo.user_connections.add(obj)
UserProfileInfo - это моя пользовательская модель UserProfile
Я просто запутался, почему это не работает, и это страннее, потому что ошибок нет бросили либо. Спасибо за любую помощь