>  기사  >  백엔드 개발  >  Python에서 SQLAlchemy를 사용하여 관계 만들기

Python에서 SQLAlchemy를 사용하여 관계 만들기

PHPz
PHPz원래의
2024-08-01 20:22:11393검색

Creating relationships using SQLAlchemy in Python

SQLAlchemy는 SQL 테이블을 생성하려고 할 때 Python에 필요한 많은 작업에 도움을 줄 수 있으며 이러한 작업 중 하나는 관계를 생성하는 것입니다.

SQLAlchemy를 사용하면 SQL만 사용하는 것보다 훨씬 쉽게 관계를 생성할 수 있습니다. 구문을 더 쉽게 따르고 단계를 줄여 프로세스를 간소화합니다.

SQLAlchemy를 Python으로 가져오며 모든 단축 구문을 사용할 수 있습니다.

 from flask_sqlalchemy import SQLAlchemy

관계를 만들려면 테이블을 만드는 것부터 시작해야 합니다. SQLAlchemy에서는 구문을 다음과 같이 단축하여 이 작업도 쉽게 수행할 수 있습니다.

class Owner(db.Model, SerializerMixin):
    __tablename__ = "owners"
    id = db.Column(db.Integer, primary_key=True)

이렇게 하면 기본 키인 ID를 가진 소유자 테이블이 생성됩니다. 소유자에 대한 열 속성을 생성하는 데 다른 코드를 사용할 수 있습니다. 이는 관계를 연결하는 데 도움이 될 것입니다. 열이 생성되면 나중에 생성할 Dog 테이블 연결 작업을 수행할 수 있습니다. 관계 코드는 다음과 같습니다.

dogs = db.relationship('Dog', back_populates='owner')

이것은 개와 주인을 연결하는 것으로, 주인은 여러 마리의 개를 가질 수 있지만 뒤에서 볼 때 개는 주인이 한 명인 경우가 단수입니다.

그런 다음 개 클래스와 테이블을 만들 수 있습니다. 여러 개의 열 속성을 가질 수 있습니다. 관계에서 중요한 점은 외래 키가 있는 소유자 ID가 있어야 한다는 것입니다. 이는 SQLAlchemy에서 다음과 같이 작성됩니다.

owner_id = db.Column(db.Integer, db.ForeignKey('owners.id')) 

그러면 주인처럼 관계를 맺게 됩니다. 이것은 반대이며 아래 코드를 사용하여 개를 소유자와 연결합니다.

owner = db.relationship('Owner', back_populates= 'dogs')

여기서 back은 개로 채워지는 대신 개입니다. 소유자는 여러 개를 가질 수 있지만 개는 소유자가 한 명이므로 이전 코드는 소유자였습니다.

이제 두 테이블은 관계를 갖게 됩니다. 앞서 언급했듯이 이는 법적으로 필요한 코드의 양을 줄이고 구문을 SQL로 작성하는 것보다 간단하게 만듭니다.

연관 프록시를 추가하고 무한 루프에 도움이 되는 직렬화 규칙을 생성하기 위해 더 많은 코드를 추가할 수 있지만 위의 방법은 SQLAlchemy를 사용하지 않았을 때보다 훨씬 빠르게 초기 관계를 생성합니다.

위 내용은 Python에서 SQLAlchemy를 사용하여 관계 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.