【发布时间】:2020-06-11 09:23:34
【问题描述】:
我有一个网络应用程序,其中有一个朋友系统。之前你们在这里帮我解决了这个问题,但现在我遇到了另一个问题。
这是我在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_
这是错误
/mainapp/profile/don0024/add/ 处的 AttributeError “用户”对象没有“朋友”属性
追溯:
文件 “C:\Users\don0024\interests\interests_env\lib\site-packages\django\core\handlers\exception.py” 在内部 34. response = get_response(request)
文件 "C:\Users\don0024\interests\interests_env\lib\site-packages\django\core\handlers\base.py" 在 _get_response 115. response = self.process_exception_by_middleware(e, request)
文件 "C:\Users\don0024\interests\interests_env\lib\site-packages\django\core\handlers\base.py" 在 _get_response 113. response = Wrapped_callback(request, *callback_args, **callback_kwargs)
文件 “C:\Users\don0024\interests\interests_env\lib\site-packages\django\views\generic\base.py” 在视野中 71. return self.dispatch(request, *args, **kwargs)
文件 “C:\Users\don0024\interests\interests_env\lib\site-packages\django\views\generic\base.py” 在调度中 97. return handler(request, *args, **kwargs)
文件 “C:\Users\don0024\interests\interests_env\lib\site-packages\django\views\generic\base.py” 在得到 188. url = self.get_redirect_url(*args, **kwargs)
文件“C:\Users\don0024\interests\interests\mainapp\views.py”在 get_redirect_url 238. user.friends.remove(obj)
文件 “C:\Users\don0024\interests\interests_env\lib\site-packages\django\utils\functional.py” 在内部 257. return func(self._wrapped, *args)
异常类型:AttributeError at /mainapp/profile/don0024/add/ 异常值:“用户”对象没有属性“朋友”
obj.friends.remove(user) 删除当前用户并将其添加到 obj 上的 ManyToMany 字段。
我怎么能同时做相反的事情,所以将obj 添加到当前用户的manytomanyfield 中?
所以我想知道是否有办法解决我遇到的这个错误。
【问题讨论】:
标签: python django python-3.x django-models django-views