前提・実現したいこと
Djangoのforms.ModelFormでフォームを作成し、掲示板のような投稿画面を作成したいです。
しかし、migrate後にエラーが発生してます。
発生している問題・エラーメッセージ
migrate後、localhostにアクセスすると、このようなエラーがあります。
django.db.utils.OperationalError: no such table: テーブル名
migrateはmodels.pyの作成後にはせず、一旦全部コードを全部書き終えてからmigrateを実行しています。
該当のソースコード
python
1from django.db import models 2 3class ModelClass(models.Model): 4 title = models.CharField(max_length=100) 5 memo = models.TextField()
python
1from django import forms 2from .models import ModelClass 3 4class FormClass(forms.ModelForm): 5 class Meta: 6 model = Post 7 fields = ('title', 'memo')
python
1from django.shortcuts import render, redirect 2from .models import ModelClass 3from .forms import FormClass 4 5def form(request): 6 if request.method == 'POST': 7 form = FormClass(request.POST) 8 if form.is_valid(): 9 post = form.save(commit=False) 10 post.save() 11 return redirect('list') 12 else: 13 form = FormClass() 14 return render(request, 'form.html', {'form': form})
試したこと
試しに、makemigrationsを実行すると- Create model ModelClass
となり、再度migrateを実行するとしっかりと動作しています。
上記でも書いたように、最後の最後でmigrateを実行しているのに、データベースにテーブルがないとなります。
実際、makemigrations後に動作しているので、問題はないのですが、なぜそのようなエラーが出てしまったのか解決したいです。
補足情報(FW/ツールのバージョンなど)
python 3.7.3
django 2.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/06/15 08:30