def test_manytomany_selfref(self):
Table(
'simple_items', self.metadata,
Column('id', INTEGER, primary_key=True)
)
Table(
'child_items', self.metadata,
Column('parent_id', INTEGER),
Column('child_id', INTEGER),
ForeignKeyConstraint(['parent_id'], ['simple_items.id']),
ForeignKeyConstraint(['child_id'], ['simple_items.id'])
)
assert self.generate_code() == """\
# coding: utf-8
from sqlalchemy import Column, ForeignKey, Integer, Table
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
metadata = Base.metadata
t_child_items = Table(
'child_items', metadata,
Column('parent_id', ForeignKey('simple_items.id')),
Column('child_id', ForeignKey('simple_items.id'))
)
class SimpleItem(Base):
__tablename__ = 'simple_items'
id = Column(Integer, primary_key=True)
parents = relationship(
'SimpleItem',
secondary='child_items',
primaryjoin='SimpleItem.id == child_items.c.child_id',
secondaryjoin='SimpleItem.id == child_items.c.parent_id'
)
"""
评论列表
文章目录