首页 > 解决方案 > 在 oauth2_provider_accesstoken 模型中保存生成的访问令牌时,创建和更新的时间戳为空

问题描述

所以我已经部署了我的 Django 应用程序,它作为我的 Angular 2 Web 应用程序的后端。现在,当我验证我的请求时,它应该生成一个访问令牌并将其保存在oauth2_provider_accesstoken模型中。但是,它会引发完整性错误,指出创建和更新的列为空(应该具有自动生成的时间戳)。一切都在我的本地设置上运行,所以不确定出了什么问题。

这是堆栈跟踪:-

return view(request, *args, **kwargs)
 File "/home/ubuntu/.local/lib/python2.7/site-packages/django/utils/decorators.py", line 63, in bound_func
    return func.__get__(self, type(self))(*args2, **kwargs2)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauth2_provider/views/base.py", line 176, in post
    url, headers, body, status = self.create_token_response(request)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauth2_provider/views/mixins.py", line 125, in create_token_response
    return core.create_token_response(request)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauth2_provider/oauth2_backends.py", line 139, in create_token_response
    headers, extra_credentials)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.py", line 64, in wrapper
    return f(endpoint, uri, *args, **kwargs)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/endpoints/token.py", line 118, in create_token_response
    request, self.default_token_type)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/grant_types/resource_owner_password_credentials.py", line 121, in create_token_response
    self.request_validator.save_token(token, request)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/request_validator.py", line 246, in save_token
    return self.save_bearer_token(token, request, *args, **kwargs)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/utils/decorators.py", line 185, in inner
    return func(*args, **kwargs)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauth2_provider/oauth2_validators.py", line 365, in save_bearer_token
    access_token = self._create_access_token(expires, request, token)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/oauth2_provider/oauth2_validators.py", line 390, in _create_access_token
    access_token.save()
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/base.py", line 806, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/base.py", line 836, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/base.py", line 922, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/base.py", line 961, in _do_insert
    using=using, raw=raw)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/query.py", line 1060, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1099, in execute_sql
    cursor.execute(sql, params)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/backends/utils.py", line 80, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute
    return self.cursor.execute(sql, params)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute
    return self.cursor.execute(sql, params)
IntegrityError: null value in column "created" violates not-null constraint
DETAIL:  Failing row contains (40, FCwZR6ril2mWKiLyhy1pzSJNYsngCo, 2018-07-09 21:41:37.617994+00, read write, 1, 1, null, null).

提前致谢 !!

标签: pythondjangopython-2.7ubuntuoauth-2.0

解决方案


推荐阅读