Skip to main content
 首页 » 编程设计

python之如何在 Sqlalchemy 中使用 automap_base 处理 AttributeError(key)

2025年01月19日36zlslch

<分区>

请帮忙解决这个错误 - AttributeError(key):

  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 

数据库.py:

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) 

表 measure_ranges 存在于数据库中,但我不知道为什么会收到此错误。当我删除此行时 (MeasureRanges = Base.classes.measure_ranges) 有效,所以我认为该错误与此表中的某些问题有关。