sqlalchemy 中定义多对多关系, 每次需要额外手写中间表定义代码, 如何解决该窘境 ?

2017/1/3

描述

写sqlalchemy的过程中, 对于多对多关系, 每次需要手动定义中间表

写一次还好, 但是写大量的这种重复无意义代码, 有点受不了

比如:

many1_many2 = Table('many1_many2', Base.metadata,
                     Column('many1_id', ForeignKey('many1.id')),
                     Column('many2_id', ForeignKey('many2.id')))
  • 目的是什么

省去多余的手动工作

上下文环境

  • 产品版本: sqlalchemy 1.1

Metadata-Version: 1.1
Name: SQLAlchemy
Version: 1.0.13
Summary: Database Abstraction Library
Home-page: http://www.sqlalchemy.org
Author: Mike Bayer
Author-email: mike_mp@zzzcomputing.com
License: MIT License
Location: c:\anaconda2\lib\site-packages
Requires:
Classifiers:
  Development Status :: 5 - Production/Stable
  Intended Audience :: Developers
  License :: OSI Approved :: MIT License
  Programming Language :: Python
  Programming Language :: Python :: 3
  Programming Language :: Python :: Implementation :: CPython
  Programming Language :: Python :: Implementation :: Jython
  Programming Language :: Python :: Implementation :: PyPy
  Topic :: Database :: Front-Ends
  Operating System :: OS Independent
  • 操作系统: Linux

  • Python2.7

  • 主要使用 sqlalchemy ORM 部分, Core部分基本不用

阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进