Python 如何在Sqlalchemy中使用自动映射库处理AttributeError(键)?
请帮助解决此错误-AttributeError(键):Python 如何在Sqlalchemy中使用自动映射库处理AttributeError(键)?,python,orm,sqlalchemy,Python,Orm,Sqlalchemy,请帮助解决此错误-AttributeError(键): 数据库中存在measure_ranges表,但我不知道为什么会收到此错误。当我删除这一行(MeasureRanges=Base.classes.measure_ranges)时,它起作用了,所以我认为这个错误与此表中的某个问题有关。我决定分享这个问题和答案,因为这是一个基本问题,但很难找到解决方案 出现这个问题是因为我没有在此表上创建主键,并且无法自动映射到类 请参阅文档: 所谓可行,我们的意思是,对于要映射的表,它必须指定 主键。此外,如
数据库中存在measure_ranges表,但我不知道为什么会收到此错误。当我删除这一行(MeasureRanges=Base.classes.measure_ranges)时,它起作用了,所以我认为这个错误与此表中的某个问题有关。我决定分享这个问题和答案,因为这是一个基本问题,但很难找到解决方案 出现这个问题是因为我没有在此表上创建主键,并且无法自动映射到类 请参阅文档: 所谓可行,我们的意思是,对于要映射的表,它必须指定 主键。此外,如果该表被检测为纯 其他两个表之间的关联表,它不会直接 映射并将改为配置为之间的多对多表 两个引用表的映射
File "pivot_table_measurements.py", line 1, in <module>
from database import *
File "/home/dedeco/Projetos/bigclima-project/database.py", line 24, in <module>
MeasureRanges = Base.classes.measure_ranges
File "/home/dedeco/craw/lib/python3.5/site-packages/sqlalchemy/util/_collections.py", line 212, in __getattr__
raise AttributeError(key)
AttributeError: measure_ranges
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
from sqlalchemy import create_engine
from sqlalchemy.orm.exc import MultipleResultsFound, NoResultFound
import string
from decimal import Decimal
ECHO = False
AUTOFLUSH = False
Base = automap_base()
engine = create_engine('postgresql://user:pass@localhost:5432/clima', echo=ECHO)
Base.prepare(engine, reflect=True)
Country = Base.classes.countries
State = Base.classes.states
City = Base.classes.cities
Measurement = Base.classes.measurements
MeasurementHourly = Base.classes.measurements_hourly
MeasureRanges = Base.classes.measure_ranges
Parameter = Base.classes.parameters
WeatherStation = Base.classes.weather_stations
session = Session(engine, autoflush=AUTOFLUSH)