gpt4 book ai didi

python-3.x - Python PonyORM 一对一映射

转载 作者:行者123 更新时间:2023-12-05 06:28:09 25 4
gpt4 key购买 nike

我正在尝试使用 Pony ORM 创建一对一映射。

class ApplierIngress(ApplierObjectMapper.db.Entity):
correlation_id = orm.PrimaryKey(str)
ticket_number = orm.Required(str)
username = orm.Required(str)
status = orm.Required(str)
request_date = orm.Required(datetime)

class ApplierResult(ApplierObjectMapper.db.Entity):
correlation_id = orm.Required(ApplierIngress)
result = orm.Required(orm.LongStr)
request_date = orm.Required(datetime)

生成映射时抛出错误

pony.orm.core.ERDiagramError:找不到 ApplierResult.correlation_id 的反向属性

我希望 ApplierResult 表中的 correlation_id 是引用 ApplierIngress 表中的 correlation_id 的外键

请告诉我我做错了什么?

最佳答案

如错误所述,您需要指定反向属性。实体不仅仅是表。

class ApplierIngress(ApplierObjectMapper.db.Entity):
correlation_id = orm.PrimaryKey(str)
ticket_number = orm.Required(str)
username = orm.Required(str)
status = orm.Required(str)
request_date = orm.Required(datetime)
result_id = orm.Optional('ApplierResult') # this attribute should be added

class ApplierResult(ApplierObjectMapper.db.Entity):
correlation_id = orm.Required(ApplierIngress)
result = orm.Required(orm.LongStr)
request_date = orm.Required(datetime)

因为这个类还没有声明你应该把它作为字符串或者 lambda 来使用

result_id = orm.Optional('ApplierResult')

result_id = orm.Optional(lambda: ApplierResult)

参见 here

关于python-3.x - Python PonyORM 一对一映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54616430/

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