SQLAlchemy kullanarak iç birleştirme nasıl elde edilir? Basit sohbetSQLAlchemy kullanarak iç birleştirme nasıl elde edilir?
class Base(object):
def __tablename__(self):
return self.__name__.lower()
id = Column(Integer, primary_key=True)
Base = declarative_base(cls=Base)
class PlayerModel(Base):
__tablename__ = 'players'
username = Column(String(30), nullable=False)
email = Column(String(75), nullable=False)
password = Column(String(128), nullable=False)
class MessageModel(Base):
__tablename__ = 'messages'
player_id = Column(Integer,ForeignKey('chats.id'), nullable=False)
message = Column(String(2000), nullable=False)
time = Column(TIMESTAMP, server_default=func.now())
def __repr__(self):
return "<Message('%s')>" % (self.type)
Bazı tarihten daha genç tüm iletileri okumak istiyorum yapmaya çalışıyorum ve sonuçta
[{'username':'x','message':'y','time':'number0'},{'username':'y','message':'z','time':'number1'},
{'username':'x','message':'zz','time':'number'}]
gibi sözlükleri listesini olması ve bunun için katılmak iç gerekir. Bunu nasıl çalıştıracak?
Bu, bir * iç * birleşim oluşturmaz, yalnızca genellikle bir dış birleştirmeye varsayılan bir birleştirme oluşturur. –
(Sol) dış birleşimler 'dışjojo' yöntemi ile oluşturulur. –
@ daniel-van-flymen [join' yöntemindeki SQLAlchemy belgelerine bakın] (http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.join) referans için. "Isouter" anahtar sözcüğü parametresini kullanırsanız, JOIN bir OUTER JOIN olur. Varsayılan olarak "iç" bir birleştirmeye. –