Вот код это вызывает функцию
from flask import Flask
from flask import render_template
from data import db_session
db_session.global_init("C:/Users/Tim/flask-sqlalchemy/db/blogs.sqlite")
app = Flask(__name__)
app.config['SECRET_KEY'] = 'yandexlyceum_secret_key'
db_session.global_init("db/blogs.sqlite")
def main():
app.run()
if __name__ == '__main__':
main()
import datetime
import sqlalchemy
from sqlalchemy import orm
from . import db_session
from .db_session import SqlAlchemyBase
class User(SqlAlchemyBase):
__tablename__ = 'users'
id = sqlalchemy.Column(sqlalchemy.Integer,
primary_key=True, autoincrement=True)
name = sqlalchemy.Column(sqlalchemy.String, nullable=True)
about = sqlalchemy.Column(sqlalchemy.String, nullable=True)
email = sqlalchemy.Column(sqlalchemy.String,
index=True, unique=True, nullable=True)
hashed_password = sqlalchemy.Column(sqlalchemy.String, nullable=True)
created_date = sqlalchemy.Column(sqlalchemy.DateTime,
default=datetime.datetime.now)
вот это как раз должно добовлять в таблицу значения но не добовляет
user = User()
user.name = "Пользователь 1"
user.about = "биография пользователя 1"
user.email = "email@email.ru"
session = db_session.create_session()
session.add(user)
session.commit()
class News(SqlAlchemyBase):
__tablename__ = 'news'
id = sqlalchemy.Column(sqlalchemy.Integer,
primary_key=True, autoincrement=True)
title = sqlalchemy.Column(sqlalchemy.String, nullable=True)
content = sqlalchemy.Column(sqlalchemy.String, nullable=True)
created_date = sqlalchemy.Column(sqlalchemy.DateTime,
default=datetime.datetime.now)
is_private = sqlalchemy.Column(sqlalchemy.Boolean, default=True)
user_id = sqlalchemy.Column(sqlalchemy.Integer,
sqlalchemy.ForeignKey("news.id"))
user = orm.relation('User')
news = orm.relation("News", back_populates='user')
это другой код
import sqlalchemy as sa
import sqlalchemy.orm as orm
from sqlalchemy.orm import Session
import sqlalchemy.ext.declarative as dec
SqlAlchemyBase = dec.declarative_base()
__factory = None
def global_init(db_file):
global __factory
if __factory:
return
if not db_file or not db_file.strip():
raise Exception("blogs.sqlite")
conn_str = f'sqlite:///{db_file.strip()}?check_same_thread=False'
print(f"Подключение к базе данных по адресу {conn_str}")
engine = sa.create_engine(conn_str, echo=False)
__factory = orm.sessionmaker(bind=engine)
from . import __all_models
SqlAlchemyBase.metadata.create_all(engine)
def create_session() -> Session:
global __factory
return __factory()