yep indeed, it works, I was doing something wrong. Thanks for all the help and sorry about late reply
On Thursday, August 17, 2017 at 9:57:39 PM UTC+2, cecemel wrote: > > Is the backref relationship supposed to work with objects loaded from the > DB? > > > Here is the case: > > Similar to the (doc/tutorial > <http://docs.sqlalchemy.org/en/rel_1_1/orm/backref.html?highlight=backref>) > I have the following classes: > > from sqlalchemy import Integer, ForeignKey, String, Columnfrom > sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import > relationship > Base = declarative_base() > class User(Base): > __tablename__ = 'user' > id = Column(Integer, primary_key=True) > name = Column(String) > > addresses = relationship("Address", back_populates="user") > class Address(Base): > __tablename__ = 'address' > id = Column(Integer, primary_key=True) > email = Column(String) > user_id = Column(Integer, ForeignKey('user.id')) > > user = relationship("User", back_populates="addresses") > > When testing the snippet it works like expected: > > >>> u1 = User()>>> a1 = Address()>>> u1.addresses[]>>> print(a1.user)None > >>> u1.addresses.append(a1)>>> u1.addresses[<__main__.Address object at > >>> 0x12a6ed0>]>>> a1.user<__main__.User object at 0x12a6590> > > But when doing the same with a user loaded to the db: > > >>> u1 = get_user_by_id_from_db(1) > >>> a1 = Address() > >>> u1.addresses # fair, the user didn't have any address. > [] > >>> u1.addresses.append(a1) > >>> u1.addresses # I didn't expect empty list!! > [] > > >>> a1.user > > None > > So my questions: > > - - is this supposed to work? > - - if so, how can I make it work? > - - if not, any workarounds proposed (and why not)? > > More information about the system: > > SQLAlchemy 1.1.13 > > Python 3.5 > > Postgres 9.6 > > > > thanks again! > > > Please let me know if any details miss. > > > -- 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 sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.