【问题标题】:one to many, Flask-SqlAlchemy, sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) relation does not exist一对多,Flask-SqlAlchemy,sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) 关系不存在
【发布时间】:2015-12-21 14:16:35
【问题描述】:

我在尝试测试是否可以将一些记录保存到我的数据库中时遇到了问题。我使用 postgres.app 作为数据库。 在我尝试测试之前,我做了:

dropdb testdb
createdb testdb
python db_create.py

我的 models.py 看起来像这样:

class Municipality(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    municipality_name = db.Column(db.String(120), unique=True)
    population = db.Column(db.Integer)
    region_id = db.Column(db.Integer, db.ForeignKey('region.id'))

    def __init__(self, municipality_name, population, region_id):
        self.municipality_name = municipality_name
        self.population = population
        self.region_id = region_id

    def __repr__(self):
        return '{0}'.format(self.municipality_name)

class Region(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    region_name = db.Column(db.String(120), unique=True)
    region_capital = db.Column(db.String(120), unique=True)
    population = db.Column(db.Integer)
    municipalities = db.relationship('Municipality', backref=db.backref('region'))

    def __init__(self, region_name, region_capital, population):
        self.region_name = region_name
        self.region_capital = region_capital
        self.population = population

    def __repr__(self):
        return '{0}'.format(self.region_name)

我试试

todb = Region(region_name='Ahvenanmaa',region_capital='Maarianhamina',population=123)
db.session.add(todb)
db.session.commit()

在这一步我已经收到一个错误:

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) relation "region" does not exist
LINE 1: INSERT INTO region (region_name, region_capital, population)...
                    ^
 [SQL: 'INSERT INTO region (region_name, region_capital, population) VALUES (%(region_name)s, %(region_capital)s, %(population)s) RETURNING region.id'] [parameters: {'population': 123, 'region_capital': 'Maarianhamina', 'region_name': 'Ahvenanmaa'}]

我想我错过了在 python db_create.py 之后必须做的一些步骤。 你能提出一些解决这个问题的建议吗?

【问题讨论】:

    标签: postgresql flask-sqlalchemy


    【解决方案1】:

    看起来您还没有完成(第一次)迁移。相信你需要$ ./db_migrate.py

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-05
      • 2013-05-06
      • 2019-07-08
      • 2018-05-23
      • 2020-03-06
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多