私はdjangoに設定しているデータベースのフィールドから行を削除することに決めました。私はモデル/フォームでそれを削除し、完全にデータベースを再実行しました(makemigrations、migrate)。しかし、私が何をしても、整合性エラー(NULL制約に失敗しました:index_user.email)が得られています。フィールドがもはや存在しないので、なぜ私はこれを取得しているのかわからないし、ファイルの中にそれのトレースを見つけることができません。誰もこのエラーを解決する方法を知っていますか?djangoは完全性エラーを修正できません
モデル:
from django.db import models
# Create your models here.
class user(models.Model):
username = models.CharField(max_length=20)
password = models.CharField(max_length=15)
def __str__(self):
return self.username + ' - ' + self.password
ビュー:
def login(request):
form = LoginForm(request.POST)
if form.is_valid():
username = form.cleaned_data["username"]
password = form.cleaned_data["password"]
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return redirect('loggedin.html')
else:
return HttpResponse("Account deleted or disabled")
else:
return HttpResponseRedirect('/invalid')
return render(request, "login_page.html", {'form': form})
形式:
class LoginForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput)
def clean(self, *args, **kwargs):
username = self.cleaned_data.get("username")
password = self.cleaned_data.get("password")
if username and password:
user = authenticate(username=username, password=password)
if not user:
raise forms.ValidationError("User does not exist.")
if not user.is_active:
raise forms.ValidationError("User is no longer active.")
return super(UserLoginForm, self).clean(*args, **kwargs)
を移行それはあなたが私たちにあなたがそれらをどのように変化するかをどのようなあなたのモデル/フォームの外観のように、そしてどのようにあなたのマイグレーションが見えるを示すことなく、間違っているかを知ることは不可能の隣にあります好き。 – Khoi
サイトの管理者の部分にあらかじめパッケージされているユーザーを変更しようとしましたか? –
私はモデル/ビュー/フォームで投稿を更新しました。私が問題になっているのは、管理機能を使ってデータベースにユーザーを追加しようとしているときに、間違いが発生しているということです。 – Abjilla22