django多个m2m没有这样的表错误

时间:2013-10-25 19:51:10

标签: django

在我正在构建的网站上,用户拥有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')

0 个答案:

没有答案