Flask
플라스크 - SQLAlchemy
수색…
소개
Flask-SQLAlchemy는 널리 사용되는 Python 객체 관계형 매퍼 (ORM) SQLAlchemy에 대한 지원을 Flask 응용 프로그램에 추가하는 Flask 확장입니다. 일반적인 작업에 몇 가지 기본 구현을 제공하여 Flask로 SQLAlchemy를 단순화하는 것을 목표로합니다.
설치 및 초기 예제
설치
pip install Flask-SQLAlchemy
단순 모델
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
email = db.Column(db.String(120), unique=True)
위의 코드 예제는 단순한 Flask-SQLAlchemy 모델을 보여줍니다. 모델 선언에 선택적 tablename을 추가 할 수 있지만 데이터베이스 작성 중에 Flask-SQLAlchemy가 자동으로 클래스 이름을 테이블 이름으로 사용하므로 종종 필요하지 않습니다.
우리 클래스는 구성된 선언적 기본 클래스 인 Baseclass 모델을 상속받습니다. 따라서 SQLAlchemy를 사용할 때 명시 적으로베이스를 정의 할 필요가 없습니다.
참고
- Pypi URL : [ https://pypi.python.org/pypi/Flask-SQLAlchemy][1]
- 문서 URL : [ http://flask-sqlalchemy.pocoo.org/2.1/][1]
관계 : 1 대 다수
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
email = db.Column(db.String(120), unique=True)
posts = db.relationship('Post', backref='user')
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
content = db.Column(db.Text)
user_id = db.Column(db.Integer, db.ForeignKey('user.id')
이 예에서는 User 클래스와 Post 클래스의 두 클래스가 있습니다. User 클래스는 상위 클래스가 될 것이고 Post는 우리의 게시물이 될 것입니다. 게시물 만이 한 사용자에게 속할 수 있지만 한 사용자는 여러 게시물을 가질 수 있습니다. 이 예제에서 부모를 참조하는 하위에 외래 키를 배치하기 위해 Post 클래스에 외래 키를 배치하여 User 클래스를 참조합니다. 그런 다음 SQLAlchemy 객체 db
를 통해 액세스하는 부모에 relationship()
을 사용합니다. 그러면 우리는 Post 클래스가 나타내는 항목 모음을 참조 할 수 있습니다.
backref
를 사용하여 양방향 관계를 만들면 자식이 부모를 참조 할 수 있습니다.