我想列出一条信息的来源
。我认为我不会使用 一对多
关系创建另一个表,而是使用 Array
类型。
我试过:
app = Flask(__name__)
db = SQLAlchemy(app)
...
class Edge(db.Model):
sources = db.Column(
db.ARRAY(db.String),
default=db.ARRAY(db.String)
)
但是添加 edge
会给我这个错误:
ProgrammingError: (psycopg2.ProgrammingError) can't adapt type 'ARRAY' [SQL: 'INSERT INTO edges (child_id, parent_id, sources) VALUES (%(child_id)s, %(parent_id)s, %(sources)s'] [parameters: {'child_id': 20, 'parent_id': 26, 'sources': ARRAY(String())}]
我找不到关于如何使用带有默认空数组的 array
列的好教程。
谢谢
最佳答案
我最终在评论中找到了答案here :
sources = db.Column(
db.ARRAY(db.String),
server_default="{}"
)
关于python - 如何在 SQLAlchemy + Postgres 中将具有空数组的数组列设置为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52925453/