gpt4 book ai didi

postgresql - 一对多,Flask-SqlAlchemy,sqlalchemy.exc.ProgrammingError : (psycopg2. ProgrammingError)关系不存在

转载 作者:行者123 更新时间:2023-11-29 13:25:39 25 4
gpt4 key购买 nike

我在尝试测试是否可以将一些记录保存到数据库中时遇到了问题。我使用 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 之后我必须做的一些步骤。你能建议一些方法来解决这个问题吗?

最佳答案

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

关于postgresql - 一对多,Flask-SqlAlchemy,sqlalchemy.exc.ProgrammingError : (psycopg2. ProgrammingError)关系不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com