我想重置我的Django項目的數據庫中的表,所以我做了以下步驟:的Django南不創造user_profiles
- 刪除了我的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)
所以,有一個用戶配置類,但南似乎並沒有使表來保存用戶配置文件。當我做python manage.py schemamigration users --auto
時,它說什麼都沒有改變。我如何獲得它來創建userprofiles表?
爲什麼你使用''--fake''?這實際上並沒有進行遷移...... – jterrace 2012-04-27 04:41:20
備註:您的get_goals函數永遠不會引發DoesNotExist異常。如果沒有匹配的目標,您只會得到一個空的查詢集。 – sdolan 2012-04-27 04:48:24
你運行過'./manage.py convert_to_south users'嗎?在嘗試生成模式遷移之前,您可能需要執行此操作 – akhaku 2012-04-27 05:30:44