Sqlalchemy отношение многих ко многим 2 таблицы - PullRequest
0 голосов
/ 03 марта 2020
from os import environ
from datetime import datetime
from sqlalchemy import (Boolean, Column, ForeignKey, Integer, String,
                        create_engine, Float, DateTime, Table)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, sessionmaker


Base = declarative_base()

# Many to Many
association_favorite = Table('Team_favorite', Base.Metada,
                             Column('Favorite_user_id', Integer,
                                    ForeignKey('UserData.id')),
                             Column('Favorite_team_id', Integer,
                                    ForeignKey('TeamSchedule.id'))
                             )

# Many to Many
association_job = Table('Tob_today', Base.Metada,
                        Column('Today_user_id', Integer,
                               ForeignKey('UserData.id')),
                        Column('Today_team_id', Integer,
                               ForeignKey('TeamSchedule.id'))
                        )


# Table user
class UserData(Base):

    __tablename__ = 'user_data'

    id = Column(Integer, primary_key=True)

    username = Column(String)
    user_id = Column(Integer)

    team = relationship('TeamSchedule', secondary=association_favorite,
                        backref='data_user')
    job_everyday = relationship('job_day', secondary=association_job,
                                backref='data_job')


# Table Iteam favorite user
class TeamSchedule(Base):

    __tablename__ = 'champion_league_try'

    id = Column(Integer,
                primary_key=True, nullable=False)

    columns_1 = Column(String)
    columns_2 = Column(DateTime)


# engine use pyscopg2
engine = create_engine(environ['DATABASE_URL'])
Session = sessionmaker(bind=engine)
Base.metadata.create_all(engine)

Можно ли создать many to many таким образом?

Я хочу создать таблицу отношений many to many 2.

Это мой синтаксис неправильный, чтобы создать его?

Я запутался в этой части. Для создания таблицы отношений многие ко многим снова. job_everyday = relationship('job_day', secondary=association_job, backref='data_job')

Представление моего стола.

table 1
------------

table 2
-----------

table 3 many to many table 1 and table 2
-----------

table 4 many to many table 1 and table 2
-----------
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...