0

我有一个 Django REST 服务器,我最近从使用 Python 2.7 更新到 3.4。服务器在 Django 之上使用 Django REST 框架,使用 django-allauth 和 django-rest-auth 来支持 Facebook 登录。

现在,更新后,我无法再使用 Facebook 登录服务器了。当我向服务器发送 POST 时,出现以下错误:

Internal Server Error: /rest-auth/facebook/
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\django\core\handlers\base.py", line 132, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Python34\lib\site-packages\django\views\decorators\csrf.py", line 58, in wrapped_view return view_func(*args, **kwargs)
  File "C:\Python34\lib\site-packages\django\views\generic\base.py", line 71, in view return self.dispatch(request, *args, **kwargs)
  File "C:\Python34\lib\site-packages\rest_framework\views.py", line 452, in dispatch response = self.handle_exception(exc)
  File "C:\Python34\lib\site-packages\rest_framework\views.py", line 449, in dispatch response = handler(request, *args, **kwargs)
  File "C:\Python34\lib\site-packages\rest_auth\views.py", line 51, in post if not self.serializer.is_valid():
  File "C:\Python34\lib\site-packages\rest_framework\serializers.py", line 187, in is_valid self._validated_data = self.run_validation(self.initial_data)
  File "C:\Python34\lib\site-packages\rest_framework\serializers.py", line 370, in run_validation value = self.validate(value)
  File "C:\Python34\lib\site-packages\rest_auth\registration\serializers.py", line 31, in validate token.account = login.account
  File "C:\Python34\lib\site-packages\django\db\models\fields\related.py", line 668, in __set__ (value, self.field.rel.to._meta.object_name)
  File "C:\Python34\lib\site-packages\django\db\models\base.py", line 496, in __repr__ u = six.text_type(self)
  File "C:\Python34\lib\site-packages\allauth\socialaccount\models.py", line 104, in __str__ return force_text(self.user)
  File "C:\Python34\lib\site-packages\django\db\models\fields\related.py", line 608, in __get__ "%s has no %s." % (self.field.model.__name__, self.field.name)
django.db.models.fields.related.RelatedObjectDoesNotExist: SocialAccount has no user.
[13/Apr/2015 08:53:30]"POST /rest-auth/facebook/ HTTP/1.1" 500 115908

这可能是什么原因造成的?更新 Python 和库后,我没有对代码进行任何更改,并且它在更新之前工作。我删除了旧数据库并通过syncdb创建了一个新数据库,但没有帮助。

提前致谢。

4

1 回答 1

0

RelatedObject已在 Django 1.8 中删除以支持ForeignObjectRel. 资源

您使用的 allauth 版本不支持 Django 1.8。

于 2015-04-13T06:35:35.460 回答