sql >> Databáze >  >> RDS >> PostgreSQL

Jak mohu naslouchat vytvoření konkrétního modelu a na základě toho vytvořit nový (na jiné tabulce)?

Nebo proč nevytvořit Referral uvnitř User konstruktor?

from sqlalchemy.orm import Session, relationship, Mapper
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, ForeignKey, create_engine, event


Base = declarative_base()


class User(Base):
    __tablename__ = 'user'

    def __init__(self):
        self.referral = Referral()

    id = Column(Integer(), primary_key=True)    
    referral = relationship('Referral', uselist=False)


class Referral(Base):
    __tablename__ = 'referral'
    id = Column(Integer(), primary_key=True)
    user_id = Column(Integer(), ForeignKey('user.id'), nullable=False)


engine = create_engine('sqlite:///:memory:')
Base.metadata.create_all(engine)
session = Session(bind=engine)

session.add(User())
session.commit()

print(session.query(User).all())
print(session.query(Referral).all())


  1. SQL dotaz se sjednocením a připojením

  2. 5 tipů a triků, které vám pomohou spravovat vaši online databázi

  3. NetBeans IDE pod Oracle

  4. Neočekávaný účinek filtrování na výsledek dotazu crosstab().