raise sa_exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: Can't attach instance <User at 
0x165c73a6ad0>; another instance with key (<class 'auth_config.auth.User'>, 
(1,), None) is already present in this session.
 # ...
class User(Base):
    __tablename__ = "users"
    id = sa.Column(sa.Integer, primary_key=True)
    name = sa.Column(
        sa.String,
        unique=True,
    )
    email = sa.Column(sa.String, index=True)
    username = sa.Column(sa.String, unique=True, index=True)
    password = sa.Column(sa.String)
    is_admin = sa.Column(sa.Boolean, default=False)
    email_verified = sa.Column(sa.Boolean, default=False)
    is_active = sa.Column(sa.Boolean, default=False)
    created_at = sa.Column(sa.DateTime, server_default=sa.func.now())
    last_login_date = sa.Column(sa.DateTime, server_default=sa.func.now())

    user_item = relationship(
        "Item",
        back_populates="item_user",
    )

    def __str__(self):
        return str(self.id)

 # ...
class Item(Base):

    __tablename__ = "item_tm"

    id = sa.Column(sa.Integer, primary_key=True, index=True)
    title = sa.Column(sa.String, unique=True, index=True)
    description = sa.Column(sa.Text, nullable=True)
    image_url = sa.Column(sa.String, nullable=True)
    created_at = sa.Column(sa.DateTime, server_default=sa.func.now())

    owner_item = sa.Column(sa.Integer, sa.ForeignKey("users.id"))

    item_user = relationship(
        "User",
        back_populates="user_item",
        lazy="subquery",
    )

    def __str__(self):
        return str(self.id)


User.user_item = relationship(
    Item,
    primaryjoin=Item.owner_item == User.id,
    lazy=True
)

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/27ffc081-7aa4-4a4c-8e1c-9d6bf89f1016n%40googlegroups.com.

Reply via email to