python – sqlAlchemy模型的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – sqlAlchemy模型的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1584字,纯文字阅读大概需要3分钟。
内容图文
所以我有以下情况.我有一个类DataTypes具有以下结构:
class DataType(Base):
__tablename__ = 'DATA_TYPES'
id = Column(Integer, primary_key=True)
type_name = Column(String)
fk_result_storage = Column(Integer, ForeignKey('DATA_STORAGES.id'))
parentDataStorage = relationship("DataStorage", backref=backref("DataType", cascade="all,delete"))
def __init__(self, name, resultId):
self.type_name = name
self.fk_result_storage = resultId
现在这里定义的关系有效.但是现在我有一些特定的数据类型,这些数据类型是通过内省动态创建的,并且需要同时删除级联.它们是这样创建的:
t = Table('DATA_' + obj.__name__.lower(), *t[:-1], **t[-1])
mapper(obj, t, *args, **kwargs)
model.Base.metadata.create_all(dao.Engine)
这很好,并根据需要创建表.但现在我想增加一种关系
类似于DataType类中的那个.所以我尝试了这个:
t = T('DATA_' + obj.__name__.lower(), *t[:-1], **t[-1])
M(obj,t,properties = {'children' : relationship('DataType', backref=backref(obj, cascade="all,delete"))} )
model.Base.metadata.create_all(dao.Engine)
但这给了我:
sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize - can't proceed with initialization of other mappers. Original exception was: relationship 'children' expects a class or a mapper argument (received: <type 'str'>)
我对SQLAlchemy很新.有什么建议 ?
问候,
波格丹
解决方法:
SQLAlchemy不是我最强的技能,但我认为这个属性是错误的:
properties = {'children' : relationship('DataType', backref=backref(obj, cascade="all,delete"))}
我认为这应该是:
properties = {'children' : relationship(DataType, backref=backref(obj, cascade="all,delete"))}
I.E.,对DataType的引用是类,而不是字符串.
内容总结
以上是互联网集市为您收集整理的python – sqlAlchemy模型的问题全部内容,希望文章能够帮你解决python – sqlAlchemy模型的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。