2014-06-26 46 views
0

用我的PostgreSQL数据库ManyToMany关系开始处理ProgrammingError的时候,但我最终Django的:与多对多数据库

“编程错误:关系‘sequences_sequence_access’不存在”

可以有人请向我解释我的错吗?

车型

from django.db import models 
from django.contrib.auth.models import User 

class Sequence(models.Model): 
    name = models.CharField(max_length=200) 
    seq = models.TextField() 
    access = models.ManyToManyField(User) 

    def __unicode__(self): 
     return self.name 

意见

x = Sequence(name=mInput[0:mIndex]) 
x.seq = alnContent 
x.save() 
x.access.add(User.objects.get(username=mUsername)) #Problems start here 
x.save() 

注:我没有执行syncdb(做起来之后正确一次,那场仍然存在,无法将其删除)

+1

编程错误意味着您在数据库中没有该表。您可能需要迁移 – ruddra

+0

迁移?对不起,我不知道该怎么做?不是将数据库从一个系统移到另一个系统的数据迁移? – tan

回答

0

你必须在这里使用迁移。您可以使用south(对于django < = 1.6)。 BTW从documentation

迁移是传播你对 模型的变化(添加字段,删除模型等)到你的数据库 架构的Django的方式。它们的设计主要是自动的,但您需要知道何时进行迁移,何时运行它们,以及可能遇到的常见问题 。

0

您必须同步数据库才能反映上次同步后对模型所做的任何更改。

只要运行

python manage.py syncdb 

manage.py为你的项目目录。

+0

我没有同步它,并再次尝试,没有工作 – tan

+0

除了序列,你有另外的模型吗? –