Похожие чаты

Кто работал с sqlalchemy async 2.0? Есть exchanges поле many to

one в User и в него надо добавить Exchange запись.
Не могу разобраться

class User(BaseModel):
__tablename__ = "users"

user_id = Column(BigInteger, primary_key=True, nullable=False)
username = Column(VARCHAR(32), unique=False, nullable=True)
ip = Column(VARCHAR(32), unique=True, nullable=True)
deviceId = Column(VARCHAR(10), unique=True, nullable=False)

exchanges: Mapped[List['Exchange']] = relationship(back_populates='user', uselist=True)

created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())

def __str__(self):
return self.username


class Exchange(BaseModel):
class ExchangeStatus(Enum):
pending = 'pending'
waiting_payment = 'waiting_payment'
exchanging = 'exchanging'
finished = 'finished'

__tablename__ = "exchanges"

id = Column(Integer, unique=True, nullable=False, primary_key=True, autoincrement=True)
hash = Column(VARCHAR(10), nullable=False, unique=True)

# Exchange details
status = Column(Choice(ExchangeStatus), default='pending')

user: Mapped['User'] = relationship(back_populates="exchanges", uselist=False)
user_fk: Mapped[int] = mapped_column(ForeignKey('users.user_id'))

created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())

def __str__(self):
return self.username

4 ответов

32 просмотра

user = User(…) exchange = Exchange(…) user.exchanges.append(exchange)

Назарбаев- Автор вопроса
Artem
user = User(…) exchange = Exchange(…) user.exchang...

Сделал по своему, вроде отрабатывает. Но есть сомнения что не практично, что вы думаете на этот счёт? user_result = await session.execute( select(User).where(User.user_id == user_id) ) user: User = user_result.scalar() exchange = Exchange( hash=exchange_hash, user=user ) session.add(exchange) await session.merge(exchange) await session.commit()

```python print('Hello World') ``` print('Hello World')

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Anyone else having this error when trying to make transactions?
Datzel
11
Question: How viable is it to use Anvil as the backend infrastructure for managing a TradFi portfolio, while integrating Flexa for instant liquidity and payment solutions? Cou...
Kevin
2
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта