Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy外键可以';找不到桌子_Python_Foreign Keys_Sqlalchemy - Fatal编程技术网

Python SQLAlchemy外键可以';找不到桌子

Python SQLAlchemy外键可以';找不到桌子,python,foreign-keys,sqlalchemy,Python,Foreign Keys,Sqlalchemy,当我尝试实例化ConsumerDevice类时,出现此错误 Foreign key associated with column 'tbConsumerAdvice.ConsumerAdviceCategory_ID' could not find table 'tbConsumerAdviceCategories' with which to generate a foreign key to target column 'ID_ConsumerAdviceCategories' clas

当我尝试实例化
ConsumerDevice
类时,出现此错误

Foreign key associated with column 'tbConsumerAdvice.ConsumerAdviceCategory_ID' 
could not find table 'tbConsumerAdviceCategories' with which to generate a
foreign key to target column 'ID_ConsumerAdviceCategories'
class ConsumerAdviceCategory(基本类):
__tablename_uu='tbConsumerAdviceCategories'
__表_args_uu={'schema':'dbo'}
ID_consumeradvicetegories=列(整数,序列('idcac')\
主(主键=真)
Name=Column(VARCHAR(50),null=False)
定义初始化(self,Name):
self.Name=Name
定义报告(自我):
返回“%self.Name
类消费设备(基本):
__tablename_uu='TBConsumerDevice'
__表_args_uu={'schema':'dbo'}
ID_ConsumerAdvice=列(整数,序列('idconsumeradvice')\
主(主键=真)
ConsumerAdviceCategory_ID=列(整数\
ForeignKey('tbConsumerAdviceCategories.ID_consumeradvicategories'))
Name=Column(VARCHAR(50),null=False)
类别\u子ID=列(整数)
ConsumerAdviceCategory=关系(“ConsumerAdviceCategory”\
backref=backref('ConsumerAdvices'))
定义初始化(self,Name):
self.Name=Name
定义报告(自我):
返回“%self.Name

定义FK,包括模式:
dbo.tbconsumeradvicetegories.ID\u consumeradvicetegories
我不得不使用

ConsumerAdviceCategory_ID = Column(INTEGER,
            ForeignKey('tbConsumerAdviceCategories.ID_ConsumerAdviceCategories',  
            schema='dbo'))

我也犯了这个错误。在我的例子中,根本原因是我试图定义不同的sqlalchemy基类:

Base1 = declarative_base(cls=MyBase1)
Base1.query = db_session.query_property()

Base2 = declarative_base(cls=MyBase2)
Base2.query = db_session.query_property()
我从一个派生自
Base1
的类到另一个派生自
Base2
的类有一个
ForeignKey
关系。这不起作用——我得到了一个类似的
norreferencedtableerror
。显然,类必须从相同的基类派生,以便相互了解


希望这对某人有所帮助。

不知道为什么,但是如果您从
\uuu表\u参数\uuuu
中删除
模式,它会工作(用SQLite测试)。您使用哪种RDBMS?。。。尝试定义FK,包括架构:
dbo.tbconsumeradvicetegories.ID\u consumeradvicetegories
@van这是MSSQL,将架构添加到FK定义成功!非常荣幸。。你能添加答案以便我将其标记为已回答吗?我不明白你是如何做到这一点的,因为添加这样的参数会引发
类型错误:其他参数应命名为
Base1 = declarative_base(cls=MyBase1)
Base1.query = db_session.query_property()

Base2 = declarative_base(cls=MyBase2)
Base2.query = db_session.query_property()