I set up the DB:
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Employee(Base):
__tablename__ = 'employee'
id = Column(Integer, primary_key=True)
class EmployeeRecord(Base):
__tablename__ = 'employee_record'
employee_id = Column(Integer, ForeignKey(Employee.id), primary_key=True)
employee = relationship(
Employee,
viewonly=True,
backref=backref("records", passive_deletes="all",),
passive_deletes="all",
)
e = create_engine("postgresql://localhost/test_issue2", echo=True)
Base.metadata.drop_all(e)
Base.metadata.create_all(e)
and then:
s = Session(e)
e = Employee(id=1)
s.add(e)
s.flush()
print("xxxx")
e.records.clear()
and I see:
xxxx 2018-12-01 21:16:13,608 INFO sqlalchemy.engine.base.Engine SELECT
employee_record.employee_id AS employee_record_employee_id FROM employee_record
WHERE %(param_1)s = employee_record.employee_id
I don't understand why that SELECT is needed given the passive_deletes being
set.
--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper
http://www.sqlalchemy.org/
To post example code, please provide an MCVE: Minimal, Complete, and Verifiable
Example. See http://stackoverflow.com/help/mcve for a full description.
---
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.