본문 바로가기
Programming/Database

postgreSQL in Django

by 하하호호 2021. 10. 25.
반응형

 

#1. Django 에서 새로운 Constraint 추가하는 방법

 

models.py에서 DB 스키마를 정의한다.

Meta 클래스 내에서 constraints를 추가해준다.

 

 

#2. Conflict 발생시 대처방법

Django에서 새로운 DB를 만들 때 제약조건에 의한

CONFLICT가 발생하는 경우가 있다. 이럴 경우를

미리 대비해서 DB를 생성해야 한다. 

 

그렇지 않은 경우 IntegrityError가 발생한다.

 

방법1)

가볍게 try ~ except 문을 사용하는 것이다.

 

try:
	Person.objects.create(------)
except Exception as e:
    continue

 

방법2)

DB를 생성하는 코드에서 on_conflict 속성을 

추가하여 CONFLICT가 발생했을 때에

행동을 추가해준다.

 

on_conflict('first_name', ConflictAction.NOTHING)

해당 속성을 사용하기 위해서는 psqlextra 모듈을

설치 및 셋팅해주어야 한다.

 

 

Django/postgres-extra

# Introduction

www.incodom.kr

 

반응형

댓글