在我正在构建的网站上,用户拥有1个帐户,其中包含多个个人资料。当用户登录时,它将与该帐户相关联的所有配置文件加载到会话中,以便显示视图中所有配置文件的信息等。我刚刚将字段bookmarks
添加到Profile类。当我登录时,收到错误no such table: users_profile_bookmarks
,并在回溯中突出显示第profile = model_to_dict(profile)
行。
我使用south来管理数据库迁移,迁移工作正常。我甚至可以./manage.py shell
创建,读取和删除Profile
的实例,但当我尝试将配置文件添加到shell中的bookmarks
字段时,我收到同样的错误。
以下是模型:
from django.db import models
class Account(models.Model):
username = models.CharField(max_length=20)
email = models.CharField(max_length=100)
password = models.CharField(max_length=100)
viewed = models.ManyToManyField('Profile', null=True, blank=True, related_name='viewed_profiles')
visitors = models.ManyToManyField('Profile', null=True, blank=True, related_name='visitors_profiles')
class Profile(models.Model):
field1 = models.CharField(max_length=25)
field2 = models.IntegerField()
account = models.ForeignKey('Account', null=True, blank=True)
links = models.ManyToManyField('self', null=True, blank=True, related_name='links')
bookmarks = models.ManyToManyField('self', null=True, blank=True, related_name='bookmarks')