Models

[Django] 테이블에 값이 없을 때만 추가하는 방법 아래와 같이 1) get() 으로 해당 데이터가 있는지 검사 (Select)2) 없으면 save()로 데이터 삽입 (Insert)try-catch 방식을 사용하여 작성이 가능하다. try: obj = Person.objects.get(first_name='John', last_name='Lennon') except Person.DoesNotExist: obj = Person(first_name='John', last_name='Lennon', birthday=date(1940, 10, 9)) obj.save() Django 문서에 get_or_create() 를 지원하며, 해당 메소드를 이용하면 위에 try-catch를 사용한 방식보다 쉽게 구현이 ..
[Django] 데이터베이스에 초기(initial) 데이터 입력Json 또는 Yaml 형식으로 초기 데이터를 입력. - model : 앱이름.테이블명 # Json [ { "model": "myapp.person", "pk": 1, "fields": { "first_name": "John", "last_name": "Lennon" } }, { "model": "myapp.person", "pk": 2, "fields": { "first_name": "Paul", "last_name": "McCartney" } } ] # Yaml - model: myapp.person pk: 1 fields: first_name: John last_name: Lennon - model: myapp.person pk: 2 f..
[Django] Performing raw SQL queries : SQL 쿼리 맵핑 Django는 원시 SQL 쿼리를 수행하는 두 가지 방법을 제공한다 : 1. Manager.raw ()를 사용하여 원시 쿼리(raw queries)를 수행하고 모델 인스턴스를 반환.2. 모델 레이어를 완전히 피하고 사용자 정의 SQL을 직접 실행. *raw SQL을 사용할 때마다 조심해야한다. 사용할 때마다 SQL Injection 공격으로 부터 보호하기 위해 params을 사용하여 사용자가 제어할 수 있는 파라메터를 벗어나도록 해야한다. SQL Injection 보호에 대해 자세히 읽어 보라. Performing raw queries 원시 쿼리 실행 raw() 매니저 메소드는 모델 인스턴스를 반환하는 원시 SQL를 사..
S0PH1A
'Models' 태그의 글 목록