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.