macにて開発しています
social-auth-app-djangoにてtwitter認証を実装したいのですが、ログインボタンを押すと以下のエラーが発生します。
OperationalError at /create/ no such column: user_id
以下にはmodel.pyを載せます。
OneToOneFieldをmodelに追加するまではうまくできていたと思うのですが(おそらく)
ここが原因なのでしょうか?
import uuid from django.conf import settings from django.db import models #画像添付のための処理 def get_memo_image_path(instance, filename): return 'image-{0}/{1}'.format(instance.id, filename) class Memo(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) title = models.CharField(max_length=20) content = models.TextField(max_length=5000) image = models.ImageField(upload_to=get_memo_image_path, null=True, blank=True) posted_date = models.DateTimeField(auto_now=True)
どこを載せればいいのかわからないので、必要な要素を言っていただければ追記します。
現在は、解決策がよくわからない状態でいます。
助けていただけると嬉しいです。
よろしくお願いします。
ーーーーー追記ーーーーーー
エラーコードとurls.pyを追記します。アプリ名の部分は変更記述しています。
また、自身の中でOneToOneFieldに原因があるように思えてしまっていて、モデル同士の紐付けができていないのかなと考えています。
この記事にあるように何か記述が必要なのでしょうか?今回はソーシャル認証なのでどう参考になるかも曖昧なのですが…。
Environment: Request Method: POST Request URL: http://127.0.0.1:8000/create/ Django Version: 2.1.7 Python Version: 3.7.0 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'App.apps.AppConfig', 'social_django'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Traceback: File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute 85. return self.cursor.execute(sql, params) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py" in execute 298. return Database.Cursor.execute(self, query, params) The above exception (no such column: user_id) was the direct cause of the following exception: File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner 34. response = get_response(request) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response 126. response = self.process_exception_by_middleware(e, request) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response 124. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/views/generic/base.py" in view 68. return self.dispatch(request, *args, **kwargs) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/contrib/auth/mixins.py" in dispatch 52. return super().dispatch(request, *args, **kwargs) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/views/generic/base.py" in dispatch 88. return handler(request, *args, **kwargs) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/views/generic/edit.py" in post 172. return super().post(request, *args, **kwargs) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/views/generic/edit.py" in post 142. return self.form_valid(form) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/views/generic/edit.py" in form_valid 125. self.object = form.save() File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/forms/models.py" in save 458. self.instance.save() File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/models/base.py" in save 718. force_update=force_update, update_fields=update_fields) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/models/base.py" in save_base 748. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/models/base.py" in _save_table 812. forced_update) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/models/base.py" in _do_update 861. return filtered._update(values) > 0 File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/models/query.py" in _update 712. return query.get_compiler(self.db).execute_sql(CURSOR) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 1383. cursor = super().execute_sql(result_type) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 1065. cursor.execute(sql, params) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/utils.py" in execute 100. return super().execute(sql, params) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/utils.py" in execute 68. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute_with_wrappers 77. return executor(sql, params, many, context) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute 85. return self.cursor.execute(sql, params) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/utils.py" in __exit__ 89. raise dj_exc_value.with_traceback(traceback) from exc_value File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute 85. return self.cursor.execute(sql, params) File "/Users/username/PycharmProjects/project/venv/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py" in execute 298. return Database.Cursor.execute(self, query, params) Exception Type: OperationalError at /create/ Exception Value: no such column: user_id
以下にurls.py
from django.contrib import admin from django.conf import settings from django.conf.urls.static import static from django.urls import include, path from memo.views import IndexView, MemoDetailView, MemoCreateView, MemoUpdateView, MemoDeleteView urlpatterns = [ path('', IndexView.as_view(), name="index"), path('<uuid:pk>', MemoDetailView.as_view(), name="detail"), path('<uuid:pk>/update', MemoUpdateView.as_view(), name="update"), path('<uuid:pk>/delete', MemoDeleteView.as_view(), name="delete"), path('create/', MemoCreateView.as_view(), name="create"), path('admin/', admin.site.urls), path('', include('social_django.urls', namespace='social')) ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
回答1件
あなたの回答
tips
プレビュー