AKotenko
@AKotenko
None

Как при создании объекта создавать запись в базе?

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine, Column, Integer, BigInteger, String, DateTime, ForeignKey, MetaData, PrimaryKeyConstraint, UniqueConstraint, ForeignKeyConstraint
from sqlalchemy.orm import sessionmaker, Session, relationship

from config import DATABASE_URI

import datetime

Base = declarative_base()
engine = create_engine(DATABASE_URI)
session = Session(bind=engine)

class Users(Base):
    __tablename__ = 'users'

    id = Column(BigInteger, primary_key=True)
    name = Column('name', String)
    sname = Column('sname', String)
    uname = Column('uname', String)
    first_reg = Column('first_reg', DateTime)


def add_user():
    new_user = Users(id=0000. name='name',  sname='sname',
                     uname='uname',  first_reg=datetime.datetime.now())
    try:
        session.add(new_user)
        session.commit()
        session.close()
    except Exception as e:
        session.close()


Вопрос скорее по организации , возможно ли при создании объекта класса Users сразу создать его в БД не используя дополнительную функцию. И насколько это правильно. Как все это оформить? Задача из основного скрипта записывать всех пользователей (если нет в базе , то добавить)
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
@dima20155
you don't choose c++. It chooses you
Как на счёт паттернов фабрика (fabric method) или абстрактная фабрика (abstract fabric)?
https://refactoring.guru/design-patterns/factory-method
https://refactoring.guru/design-patterns/abstract-...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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