마

Python Flask Tutorial #4 - Database with Flask-SQLAlchemy

· 2019-12-06 (금) 13:18:13 · 1752

https://youtu.be/cYWiDiIUxQc?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH

 

Flask-SQLAlchemy에 대해서 배웁니다.

 

https://flask-sqlalchemy.palletsprojects.com/en/2.x/

 

SQLAlchemy는 여러가지 데이타베이스를 지원합니다.  

https://docs.sqlalchemy.org/en/13/core/engines.html

 

PostgreSQL

MySQL

Oracle

Microsoft SQL Server

SQLite

 

몽고 DB는 별도로 지원합니다. https://pythonhosted.org/Flask-MongoAlchemy/

 

```

pipenv install flask-sqlalchemy

```

 

> pipfile에 제대로 등록되어 있는지 체크하세요

 

```

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

db = SQLAlchemy(app)

 

class User(db.Model):

    id = db.Column(db.Integer, primary_key=True)

    username = db.Column(db.String(20), unique=True, nullable=False)

    email = db.Column(db.String(120), unique=True, nullable=False)

    image_file = db.Column(db.String(20), nullable=False, default='default.jpg')

    password = db.Column(db.String(60), nullable=False)

    posts = db.relationship('Post', backref='author', lazy=True)

 

    def __repr__(self):

        return f"User('{self.username}', '{self.email}', '{self.image_file}')"

 

class Post(db.Model):

    id = db.Column(db.Integer, primary_key=True)

    title = db.Column(db.String(100), nullable=False)

    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)

    content = db.Column(db.Text, nullable=False)

    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

 

    def __repr__(self):

        return f"Post('{self.title}', '{self.date_posted}')"

```

 

현재 디렉토리에 site.db라는 sqlite파일이 만들어집니다.  

 

테이블은 2개 user, post

 

https://sqlitebrowser.org/   로 확인해보면

 

1808292852_1575603769.9969.png

 

python을 실행해서 Command라인에서 바로 입력해서 확인하니 좋네요..

 

user와 post의 관계는 one to many  관계입니다.

 

User 는 many Post를 가질수 있고,  Post는 one User만 있게 됩니다.

 

https://www.youtube.com/watch?v=juPQ04_twtA

 

Relationship에서 lazy 옵션이 있는데,  이것에 대한 설명

 

https://www.youtube.com/watch?v=g1oFlq7D_nQ

|
댓글을 작성하시려면 로그인이 필요합니다.

파이썬 게시판 만들기

121건

+
제목 글쓴이 날짜 조회
19-12-19 조회 1,749
19-12-18 조회 1,715
19-12-17 조회 1,641
19-12-16 조회 1,310
19-12-15 조회 1,443
19-12-14 조회 1,344
19-12-13 조회 1,685
19-12-13 조회 1,598
19-12-12 조회 1,274
19-12-12 조회 1,064
19-12-12 조회 1,323
19-12-11 조회 1,969
19-12-11 조회 1,424
19-12-10 조회 1,127
19-12-10 조회 1,513
19-12-10 조회 1,116
19-12-09 조회 1,365
19-12-07 조회 1,579
19-12-07 조회 1,356
19-12-06 조회 1,753
19-12-06 조회 1,400
19-12-05 조회 1,351
19-12-05 조회 1,264
19-12-04 조회 2,663
19-12-04 조회 1,177
19-12-03 조회 2,731
19-12-03 조회 1,170
19-12-03 조회 1,275
19-11-19 조회 1,353
19-11-19 조회 1,552