python 之sqlalchemy many to one

Posted 曾春云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 之sqlalchemy many to one相关的知识,希望对你有一定的参考价值。

通过查询多个父亲,对应一个儿子

 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 -*-
 3 """
 4 @author: zengchunyun
 5 """
 6 from sqlalchemy import Column, Integer, String, Float, DateTime, ForeignKey
 7 from sqlalchemy.orm import sessionmaker, relationship, backref
 8 from sqlalchemy.ext.declarative import declarative_base
 9 from sqlalchemy import create_engine
10 
11 Base = declarative_base()
12 engine = create_engine(mysql+pymysql://root:[email protected]:3306/day11,echo=True)
13 
14 
15 
16 class Parent(Base):
17     __tablename__ = parent
18     id = Column(Integer, primary_key=True)
19     name = Column(String(64))
20     child_id = Column(Integer, ForeignKey("child.id"))
21     childr = relationship("Child")
22 
23 
24 class Child(Base):
25     __tablename__ = child
26     id = Column(Integer, primary_key=True)
27     name = Column(String(64))
28 
29 
30 
31 Base.metadata.create_all(engine)
32 
33 DBSession = sessionmaker()
34 DBSession.configure(bind=engine)
35 session = DBSession()  # 打开数据连接
36 
37 
38 
39 
40 ret = session.query(Parent).filter(Parent.name == zeng).one()
41 print(ret)
42 print(ret.childr.name)
43 ret = session.query(Parent).filter(Parent.name == chunyun).one()
44 print(ret)
45 print(ret.childr.name)
46 
47 ret = session.query(Parent).filter(Parent.name == chun).one()
48 print(ret)
49 print(ret.childr.name)

 

以上是关于python 之sqlalchemy many to one的主要内容,如果未能解决你的问题,请参考以下文章

python 来自http://pythonhosted.org/Flask-SQLAlchemy/models.html#many-to-many-relationships

SqlAlchemy “Too many connections”

python中flask和sqlalchemy的多对多

sqlalchemy 如何使用 automap_base 生成(多对多)关系

Python之SqlAlchemy

python之sqlalchemy