Django プロジェクトのデータベースをリセットしたかったので、次の手順を実行しました。
- SQLite データベースを削除しました
- やりました
python manage.py syncdb
- やりました
python manage.py migrate users --fake
新しいアカウントを作成してログインすると、次のエラー メッセージが表示されます。
no such table: users_userprofile
私のユーザーのmodel.pyは次のようになります。
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 クラスはありますが、South はユーザー プロファイルを保持するテーブルを作成していないようでした。するとpython manage.py schemamigration users --auto
、何も変わっていないように見えます。userprofiles テーブルを作成するにはどうすればよいですか?