SQL炼金术构建ORM

2024-04-25 00:10:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在看这一页

http://docs.sqlalchemy.org/en/rel_1_0/orm/tutorial.html

我试图弄清楚如何构建一个自定义表,链接到python中的一个对象。我有这个密码

from sqlalchemy import create_engine, Column, Integer, String, DateTime, Float, UnicodeText, VARCHAR, NVARCHAR, TEXT, DATE, distinct, ForeignKey, Table
import sqlalchemy
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine("sqlite:///./P_case.db", 
                       echo=False)

Session = sessionmaker( bind=engine )
session = Session()

Base = declarative_base()

class Bus(Base):

    __tablename__ = "bus_vech"
    id = Column( Integer, primary_key = True )

    ## Bus
    number = Column( Integer)

当我运行这个时,我没有得到任何错误,但是从SQL alchmey向我描述的方式来看,它应该创建一个数据库,其中我在类总线中的字段将显示在我运行脚本的目录下的续集数据库中。我想查看我创建的数据库文件,并使用SQL查看器查看它。你知道吗


Tags: fromimport数据库basesqlalchemysessioncreateorm
1条回答
网友
1楼 · 发布于 2024-04-25 00:10:02

您需要用两个语句将类括起来,如下所示:

from sqlalchemy import create_engine, Column, Integer, String, DateTime, Float, UnicodeText, VARCHAR, NVARCHAR, TEXT, DATE, distinct, ForeignKey, Table
import sqlalchemy
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine("sqlite:///./P_case.db", 
                       echo=False)

Session = sessionmaker( bind=engine )
session = Session()

Base = declarative_base()
metadata = Base.metadata #########################
class Bus(Base):

    __tablename__ = "bus_info"
    id = Column( Integer, primary_key = True )

    ## Bus
    number = Column( Integer)

metadata.create_all( engine )    ######################

我把###############放在你需要的陈述之后。你应该在你的目录中看到这个文件,P_案例.db. 你知道吗

相关问题 更多 >