用のテーブルを作成していない私は私のDjangoプロジェクトのデータベースをリセットしたかったので、私は、次の手順をした:ジャンゴ南はuser_profiles
- は私のSQLiteデータベース
- が
python manage.py syncdb
- が
python manage.py migrate users --fake
をしましたしました削除されました
新しいアカウントを作成してログインすると、次のエラーメッセージが表示されます。
class UserProfile(models.Model):
user = models.OneToOneField(User)
joined_goals = models.ManyToManyField(Goal, related_name="joined_goals")
followingGoals = models.ManyToManyField(Goal, related_name="following_goals")
def __unicode__(self):
return self.user.username
def get_goals(self):
try:
goals = Goal.objects.filter(user=self.user)
return goals
except Goal.DoesNotExist:
return []
def create_user_profile(sender, instance, created, **kwargs):
if created:
userProfile = UserProfile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
だから、のUserProfileクラスがありますが、南にはユーザープロファイルを保持するテーブルを作成していないようでした。ここで
no such table: users_userprofile
は次のようにmodel.pyが見えるもの、私のユーザーです。私が
python manage.py schemamigration users --auto
をするとき、それは何も変わったようではないと言います。どのようにしてuserprofilesテーブルを作成するのですか?
なぜあなたは使用しなかった '' --fake''?それは実際に移行を行いません。 – jterrace
サイドノート:get_goals関数はDoesNotExist例外を発生させません。一致する目標がない場合は、空のクエリセットを取得するだけです。 – sdolan
'./manage.py convert_to_south users'を実行しましたか? – akhaku