Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import datetime
- import sqlalchemy
- from sqlalchemy.types import INTEGER, VARCHAR, DATETIME, TEXT
- from sqlalchemy.ext.declarative import declarative_base
- engine = sqlalchemy.create_engine('sqlite:///blog.db', echo=True)
- # engine.execute('CREATE TABLE IF NOT EXISTS authors (id integer primary key, name varchar(20) unique not null)')
- # engine.execute('INSERT INTO authors (name) VALUES ("megaadmin")')
- # d = engine.execute('SELECT * FROM authors')
- # print(d.fetchall())
- Base = declarative_base(bind=engine)
- class Author(Base):
- __tablename__ = 'authors'
- id = sqlalchemy.Column(INTEGER, primary_key=True)
- name = sqlalchemy.Column(VARCHAR(20), unique=True, nullable=False)
- updated_on = sqlalchemy.Column(DATETIME, nullable=False)
- def __repr__(self):
- return f'{self.id} {self.name}\t{self.updated_on}'
- class Post(Base):
- __tablename__ = 'posts'
- id = sqlalchemy.Column(INTEGER, primary_key=True)
- title = sqlalchemy.Column(VARCHAR(50), unique=True, nullable=False)
- content = sqlalchemy.Column(TEXT, unique=True, nullable=False)
- author_id = sqlalchemy.Column(INTEGER, nullable=False)
- published_on = sqlalchemy.Column(DATETIME, nullable=False)
- Base.metadata.create_all()
- session = sqlalchemy.orm.Session(bind=engine)
- # author1 = Author(name="MegaAdmin", updated_on=datetime.datetime.now())
- # session.add_all([author1, Author(name="SuperAdmin", updated_on=datetime.datetime.now()),
- # Author(name="JuniorAdmin", updated_on=datetime.datetime.now())])
- # session.commit()
- # data = session.query(Author).all()
- # for i in data:
- # print(i)
- # print(dir(data[0]))
- # print(data[0].name)
- # data[1].updated_on = datetime.datetime.now()
- # data = session.query(Author).filter(Author.id==3).all()
- # data = session.query(Author).filter_by(id=3).all()
- # for i in data:
- # print(i)
- data = session.query(Author).all()
- print(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement