私はdjangoでアプリを書いています。私はいくつかのカスタムフィールドをUserモデルに追加したいと思っていました。Django - カスタムuserprofile NoSuchTableエラー
私は、次のしてきたこのガイド:
http://www.tangowithdjango.com/book/chapters/login.html
ログインが正常に動作しますが、registerメソッドを実行しながら、私のウェブサイトは、/登録/いいえ、そのようなテーブルで
OperationalErrorをスロー:mun_userprofile
モデル:
のfrom __future__ import unicode_literals
from django.contrib.auth.models import User
from django.db import models
# Create your models here.
class UserProfile(models.Model):
#Link
user = models.OneToOneField(User)
#Extras
adress = models.CharField(max_length = 50, blank = True)
city = models.CharField(max_length = 50, blank = True)
zip_code = models.CharField(max_length = 5, blank = True)
#Override
def __unicode__(self):
return self.user.username
フォーム:
from mun.models import UserProfile
from django.contrib.auth.models import User
from django import forms
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = User
fields = ('username', 'email', 'password')
class UserProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
fields = ('adress', 'city', 'zip_code')
登録方法:
def register(request):
context = RequestContext(request)
registered = False
if request.method == 'POST':
user_form = UserForm(data=request.POST)
profile_form = UserProfileForm(data=request.POST)
if user_form.is_valid() and profile_form.is_valid():
user = user_form.save()
user.set_password(user.password)
user.save()
profile = profile_form.save(commit=False)
profile.user = user
-->>> profile.save() ######## Error is thrown at this line #######
registered = True
else:
print user_form.errors, profile_form.errors
else:
user_form = UserForm()
profile_form = UserProfileForm()
return render_to_response(
'mun/register.html',
{'user_form': user_form, 'profile_form': profile_form, 'registered': registered},
context)
私はマイグレーションを実行しようとしました。私は私のsqliteデータベースを削除し、それが役に立たない。なぜこのようなことが起こるのか?
生成されたSQLクエリを確認し、そのテーブルが存在するかどうかを確認できます。他のデータベースを使用している可能性はありますか? DBの設定も確認してください。 –