gpt4 book ai didi

python - Flask - SQLAlchemy - 插入 GUID(BINARY(16)) 作为主键后出错

转载 作者:行者123 更新时间:2023-11-28 23:34:38 24 4
gpt4 key购买 nike

执行插入语句后出现错误。

class Tag(db.Model):
__tablename__ = "tags"
guid_tag = db.Column(db.BINARY(16), primary_key=True)
id_project = db.Column(db.Integer,db.ForeignKey("projects.id_project"))
project = db.relationship(Proyecto, backref=db.backref('list_tags', lazy='dynamic'))
type = db.Column(db.Integer) #(0,hub);(1,cable);(2,pipe);(3,electrical_pipes)
created_at = db.Column(db.DateTime)
updated_at = db.Column(db.DateTime)

def __init__(self,guid_tag,project,type,created_at):
self.guid_tag = guid_tag
self.project = project
self.type = type
self.created_at = created_at
self.updated_at = created_at

插入语句

guid_tag    = func.UNHEX(args['guid_tag'])
nuevo_tag = Tag(guid_tag,id_project,type,creado_en)
db.session.add(nuevo_tag)
db.session.commit()

消息错误

File "/Users/Ricardo/PycharmProjects/virtual_rfwire/lib/python3.3/site-packages/sqlalchemy/orm/loading.py", line 647, in load_scalar_attributes "contain a full primary key." % state_str(state)) sqlalchemy.exc.InvalidRequestError: Instance cannot be refreshed - it's not persistent and does not contain a full primary key.

这是幕后发生的事情

2016-03-22 05:56:57,838 INFO sqlalchemy.engine.base.Engine INSERT INTO tags (guid_tag, id_project, type, created_at, updated_at) VALUES (UNHEX(%(UNHEX_1)s), %(id_project)s, %(type)s, %(created_at)s, %(updated_at)s)
2016-03-22 05:56:57,838 INFO sqlalchemy.engine.base.Engine {'created_at': datetime.datetime(2016, 3, 22, 4, 56, 57, 836091), 'UNHEX_1': '110E8400E29B11D4A716446655440000', 'id_project': 1, 'updated_at': datetime.datetime(2016, 3, 22, 4, 56, 57, 836091), 'type': 0}

最佳答案

我将发布制作插入语句的好方法。

import binascii
guid_tag = binascii.unhexlify(args['guid_tag'])
nuevo_tag = Tag(guid_tag,id_project,type,creado_en)
db.session.add(nuevo_tag)
db.session.commit()

关于python - Flask - SQLAlchemy - 插入 GUID(BINARY(16)) 作为主键后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36146427/

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