У меня есть веб-приложение, где у меня есть система друзей. Вы, ребята, помогли мне с этим раньше, но теперь у меня есть другая проблема.
Вот мои модели в UserProfileInfo
friends = models.ManyToManyField(User,blank=True,related_name='user_connections')
А вот мое представление AddFriendRedirect
class AddFriendRedirect(RedirectView):
def get_redirect_url(self,*args,**kwargs):
username = self.kwargs.get("username")
obj = get_object_or_404(UserProfileInfo,slug=username)
url_ = obj.get_absolute_url()
user = self.request.user
if user.is_authenticated:
if user in obj.friends.all():
obj.friends.remove(user)
user.friends.remove(obj) # these are the fields causing the error
else:
obj.friends.add(user)
user.friends.add(obj) # these are the fields causing the error
return url_
А вот и ошибка
AttributeError в / mainapp / profile / don0024 / add / 'User' объект не имеет атрибута 'friends'
Трассировка:
Файл "C: \ Users \ don0024 \ Interest \ Interest_env \ lib \ site-packages \ django \ core \ handlers \ exception.py" во внутреннем 34. response = get_response (запрос)
Файл "C: \ Users \ don0024 \ Interest \ Interest_env \ lib \ site-packages \ django \ core \ handlers \ base.py" в _get_response 115. response = self.process_exception_by_middleware (e, запрос)
Файл "C: \ Users \ don0024 \ Interest \ Interest_env \ lib \ site-packages \ django \ core \ handlers \ base.py" в _get_response 113. response = wrapped_callback ( request, * callback_args, ** callback_kwargs)
Файл "C: \ Users \ don0024 \ Interest \ Interest_env \ lib \" site-packages \ django \ views \ generic \ base.py "в представлении 71. вернуть self.dispatch (запрос, * аргументы, ** kwargs)
файл" C: \ Users \ don0024 \ интересов \oples_env \ lib \ site-packages \ django \ views \ generic \ base.py "в диспетчере 97. обработчик возврата (запрос, * аргументы, ** kwargs)
файл" C: \ Users \ don0024 \ Interest \ Interest_env \ lib \ site-packages \ django \ views \ generic \ base.py "в get 188. url = self.get_redirect_url (* args, ** kwargs)
Файл" C : \ Users \ don0024 \ интересов \ интересов \ mainapp \ views.py "в get_redirect_url 238. user.friends.remove (obj)
Файл" C: \ Users \ don0024 \ Interest \ Interest_env \ lib \ site-packages \ django \ utils \ functions.py "во внутренней части 257. возвращает удовольствие c (self._wrapped, * args)
Тип исключения: AttributeError в / mainapp / profile / don0024 / add / Значение исключения: объект «Пользователь» не имеет атрибута «друзья»
. obj.friends.remove(user)
удаляет и добавляет текущего пользователя в поле ManyToMany obj
. Как я могу сделать противоположное в то же время, поэтому добавьте obj
в поле manytomanyy текущего пользователя?
Поэтому мне интересно, есть ли способ решить эту ошибку, которую я получаю.