我在settings.py
处有以下管道SOCIAL_AUTH_PIPELINE =(
'social_core.pipeline.social_auth.social_details',
'social_core.pipeline.social_auth.social_uid',
'social_core.pipeline.social_auth.auth_allowed',
'social_core.pipeline.social_auth.social_user',
'social_core.pipeline.user.get_username',
'social_core.pipeline.user.create_user',
'social_core.pipeline.social_auth.associate_user',
'social_core.pipeline.social_auth.load_extra_data',
'social_core.pipeline.user.user_details',
'auth_manager.fb_account_linking.save_number',
)
我的auth_manager.fb_account_linking.py如下所示:
@partial
def save_number(strategy, details, user=None, is_new=False, *args, **kwargs):
m = MobileNo.objects.filter(user=user)
print(len(m))
if not len(m)>0:
return redirect('account_kit')
我收到以下错误:
IntegrityError at /auth/oauth/complete/facebook/
NOT NULL constraint failed: social_auth_partial.timestamp
回溯:
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
65. return self.cursor.execute(sql, params)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
328. return Database.Cursor.execute(self, query, params)
The above exception (NOT NULL constraint failed: social_auth_partial.timestamp) was the direct cause of the following exception:
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\exception.py" in inner
41. response = get_response(request)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func
57. response = view_func(request, *args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\views\decorators\csrf.py" in wrapped_view
58. return view_func(*args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_django\utils.py" in wrapper
50. return func(request, backend, *args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_django\views.py" in complete
28. redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\actions.py" in do_complete
41. user = backend.complete(user=user, *args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\backends\base.py" in complete
40. return self.auth_complete(*args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\utils.py" in wrapper
252. return func(*args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\backends\facebook.py" in auth_complete
110. return self.do_auth(access_token, response, *args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\backends\facebook.py" in do_auth
152. return self.strategy.authenticate(*args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_django\strategy.py" in authenticate
115. return authenticate(*args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\contrib\auth\__init__.py" in authenticate
70. user = _authenticate_with_backend(backend, backend_path, request, credentials)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\contrib\auth\__init__.py" in _authenticate_with_backend
115. return backend.authenticate(*args, **credentials)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\backends\base.py" in authenticate
80. return self.pipeline(pipeline, *args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\backends\base.py" in pipeline
83. out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\backends\base.py" in run_pipeline
113. result = func(*args, **out) or {}
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\pipeline\partial.py" in wrapper
34. strategy.storage.partial.store(current_partial)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\social_core\storage.py" in store
325. partial.save()
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\base.py" in save
808. force_update=force_update, update_fields=update_fields)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\base.py" in save_base
838. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\base.py" in _save_table
924. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\base.py" in _do_insert
963. using=using, raw=raw)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\manager.py" in manager_method
85. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\query.py" in _insert
1076. return query.get_compiler(using=using).execute_sql(return_id)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
1107. cursor.execute(sql, params)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
80. return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
65. return self.cursor.execute(sql, params)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\utils.py" in __exit__
94. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\six.py" in reraise
685. raise value.with_traceback(tb)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\utils.py" in execute
65. return self.cursor.execute(sql, params)
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\backends\sqlite3\base.py" in execute
328. return Database.Cursor.execute(self, query, params)
Exception Type: IntegrityError at /auth/oauth/complete/facebook/
Exception Value: NOT NULL constraint failed: social_auth_partial.timestamp