[Sqlalchemy-tickets] [sqlalchemy] #2741: uselist=False collection not backref deferred, leads to un
Brought to you by:
zzzeek
|
From: sqlalchemy <mi...@zz...> - 2013-06-04 15:13:35
|
#2741: uselist=False collection not backref deferred, leads to unwanted
load/autoflush
---------------------+------------------------------------
Reporter: zzzeek | Owner: zzzeek
Type: defect | Status: new
Priority: highest | Milestone: 0.8.xx
Component: orm | Severity: major - 1-3 hours
Keywords: | Progress State: in queue
---------------------+------------------------------------
{{{
#!python
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class A(Base):
__tablename__ = 'a'
id = Column(Integer, primary_key=True)
b = relationship("B", uselist=False, backref="a")
class B(Base):
__tablename__ = 'b'
id = Column(Integer, primary_key=True)
a_id = Column(Integer, ForeignKey('a.id'), nullable=False)
e = create_engine("sqlite://", echo=True)
Base.metadata.create_all(e)
sess = Session(e)
a1 = A()
b1 = B(a=a1)
sess.add(a1)
a2 = A()
sess.add(a2)
sess.commit()
b1 = sess.query(B).first()
# this is needed to trigger it
b1.a
b1.a = a2
}}}
--
Ticket URL: <http://www.sqlalchemy.org/trac/ticket/2741>
sqlalchemy <http://www.sqlalchemy.org/>
The Database Toolkit for Python
|