flask06

Çöó½ºÅ©¿¡¼­ DB¸¦ »ç¿ëÇϱâ À§ÇØ SQLAlchemy·Î µ¥ÀÌÅÍ Àб⿡ ´ëÇؼ­ ¾Ë¾Æº»´Ù.

model.py ÆÄÀÏ
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class User(db.Model):
    id = db.Column(db.Integer, primary_key = True, autoincrement=True)
    userid = db.Column(db.String(32), nullable=False)
    username = db.Column(db.String(32), nullable=False)
    created_date = db.Column(db.DateTime(), nullable=False)

"db browser for sqlite"¿¡¼­ µ¥ÀÌÅÍ ÀÔ·ÂÀ» ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.


"db browser for sqlite"¿¡¼­ DataTime ÇüÀÇ µ¥ÀÌÅ͸¦ ÀÔ·Â ÇÒ¶§´Â ´ÙÀ½°ú °°Àº Æ÷¸ËÀ¸·Î ³Ö´Â´Ù.
2023-05-28 18:33:11

main.py ÆÄÀÏ
from flask import Flask
import model


def create_app():
    app = Flask(__name__)
    return app


def set_database(app):
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS']= False

    db = model.db
    db.init_app(app)
    db.app = app
    db.create_all()


def test_db():
    from model import User

    print('User Count=', User.query.count())

    user_data = User.query.get(1)
    print('username=', user_data.username)

    user_data1 = User.query.get({'id': 2})
    print('username=', user_data1.username)

    user_list = User.query.all()
    for u in user_list:
        print(f'{u.username} id is {u.id}')

    print('-------------------bbb list-----------------')
    bbb_list = User.query.filter(User.username == 'bbb')
    for u in bbb_list:
        print(f'bbb id is {u.id}')


if __name__ == '__main__':
    app = create_app()
    set_database(app)
    test_db()

    app.run(host='0.0.0.0', port=8888, debug=True)


°á°ú)
User Count= 3
username= aaa
username= bbb
aaa id is 1
bbb id is 2
bbb id is 3
-------------------bbb list-----------------
bbb id is 2
bbb id is 3

µ¥ÀÌÅÍ °¹¼ö¸¦ °¡Á®¿Â´Ù.
User.query.count()

µ¥ÀÌÅ͸¦ id¸¦ ÀÌ¿ëÇØ Çϳª¸¸ °¡Á®¿Â´Ù. ¿©±â¼­´Â id°¡ 1ÀÎ µ¥ÀÌÅ͸¦ °¡Á®¿Â´Ù.
user_data = User.query.get(1) 

'id'°¡ 2ÀÎ µ¥ÀÌÅ͸¦ °¡Á®¿Â´Ù.
user_data1 = User.query.get({'id': 2})

¸ðµç µ¥ÀÌÅ͸¦ °¡Á®¿Â´Ù.
user_list = User.query.all()

filter´Â Á¶°Ç¿¡ ÀÇÇؼ­ µ¥ÀÌÅ͸¦ °¡Á®¿Â´Ù.
bbb_list = User.query.filter(User.username == 'bbb')

Âü°í)
https://engineer-mole.tistory.com/327