正常に動いていたアプリでしたが、
author = models.ForeignKey('auth.User')
を追加したり削除したりしていると以下のエラーを吐くようになり、ページが表示できなくなりました。
django.db.utils.OperationalError: no such column: app_action.author_id
エラー後に試したこと↓
- app以下のmigrationファイルの全削除
- python manage.py flush
- python manage.py makemigrations app
- python manage.py migrat app
ちなみにコメントアウトするとページは表示されるようになります
Django
1#author = models.ForeignKey('auth.User')
以下コードです(一部切り抜きです)
models.py
1from django.db import models 2from django.utils import timezone 3class Action(models.Model): 4 text = models.TextField() 5 author = models.ForeignKey('auth.User') 6 thumnail = models.ImageField(upload_to='static/images/', null=True, blank=True) 7 published_date = models.DateTimeField(blank=True, null=True) 8 def publish(self): 9 self.published_date = timezone.now() 10 self.save() 11 def __str__(self): 12 return self.text
views.py
1from django.shortcuts import render,redirect,render, get_object_or_404 2from django.contrib.auth.decorators import login_required 3from django.views.decorators.http import require_POST 4from django.utils import timezone 5from .forms import Action_Form 6 7def index(request): 8 posts = Action.objects.filter(published_date__lte=timezone.now()).order_by('-published_date') 9 if request.method == "POST": 10 f = Action_Form(request.POST,request.FILES) 11 if f.is_valid(): 12 post = f.save(commit=False) 13 post.author = request.user 14 post.published_date = timezone.now() 15 post.save() 16 return redirect('app:index') 17 else: 18 f = Action_Form() 19 return render(request, 'app/index.html', {'posts': posts,'form1':f})
authorのIDが合致しなくなったためのエラーかと思い、DB等を初期化してみましたが、改善しません。
ほかに試すことがあればご教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。