본문 바로가기

Python/Django

(7)
Django - Truncate 수행 & Django내 스크립트 실행 Django ORM Cookbook 을 통해 Truncate 를 수행하는 방법을 찾았다. DELETE FROM 와 같은 SQL들은 삭제 수가 많아지면 처리속도가 느려질 수 있기에 Model에 class method를 사용한다. 처음엔 ORM Cookbook 처럼 작성하였는데 cursor.execute('TRUNCATE TABLE "{0}" '.format(cls._meta.db_table)) 자꾸 아래처럼 문법에 맞는 언어로 쓰라는 에러가 나와서 다시 구글링 django.db.utils.ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server ve..
Django ORM과 QuerySet 잘 모르니까. 모르는게 많으니까 공부. ORM이란? Object Relational Mapping 의 줄임말로 객체(Object) 와 데이터베이스의 데이터(Relational)를 연결(Mapping)해주는 개념 개발자가 별도의 SQL 쿼리를 짤 필요 없이 코드 작성만으로 DB를 조작할 수 있게 해주는 개념으로 장고만 있는게 아니라 다양한 언어/프레임워크 등에서 사용 되는 개념이다. DB 쿼리의 경우 테이블 생성시 아래와 같이 작성 된다면, CREATE TABLE `tutorials` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `usernm` VARCHAR(50) NOT NULL, `email` VARCHAR(255) NOT NULL, `updated_dt` DATETIME(6..
Django - Bulk_create 로 대량의 데이터 DB에 insert하기 대량의 데이터라고 하지만, 내 경우엔 겨우 300개의 데이터ㅎㅎ 다만, 다수의 DB Connection을 맺는 것 보다 한번에 삽입하는게 더 효율적으로 생각되어 bulk_create를 사용해서 insert 하기로 했다. bulk_create() bulk_create(objs, batch_size=None, ignore_conflicts=False) >>> objs = Entry.objects.bulk_create([ ... Entry(headline='This is a test'), ... Entry(headline='This is only a test'), ... ]) 한번의 쿼리로 다수의 생성된 개체를 db내 삽입 한다. objs 에 모델명(필드명1 = 밸류, 필드명2=밸류)를 요소로 하는 list를..
Django Model - Field 들 소개 https://docs.djangoproject.com/en/3.2/topics/db/models/#meta-options Models | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com 기본을 모르니까 할때마다 막히는 것 같아서 다시 정리 한다. 언젠가 익숙해지겠지. Models from django.db import models class Person(models.Model): first_name = models.Cha..
Django Form 작성 방법 Form 에 대한 필요한 내역을 정리하다 보니 필요한 내역이 길어져서 포스팅의 순서를 아래와 같이 정리 해 보았다. Get / Post 이란? Form 의 전송 Flow Form Model Form Validators 1. Get / Post 이란? Form 을 알기 전에 서버에서 호출 방법인 Get / Post 에 대해 먼저 알아야 한다. 참고 사이트 : https://www.w3schools.com/tags/ref_httpmethods.asp HTTP Methods GET vs POST W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular ..
우분투 내 MariaDB 설치 Django 에서 DB를 기본Sqlite3에서 MariaDB 로 변경하여 셋팅하고자 했다. MariaDB 설치 sudo apt install mariadb-server mariadb-server설치시 mariadb-client 는 자동 설치 된다. 아래 명령어로도 설치 가능 sudo apt install mariadb-client 설치 후 마리아DB의 기본 셋팅을 위해 아래 명령어 작성 하면 root pw를 물어본다. sudo mysql_secure_installation 나는 작업 도중 오류를 맞이 했는데... 해당 오류의 해결 방법은 아래 포스팅에 따로 작성해 두었다. 2022.09.27 - [Python/Django] - MariaDB 설치 시 오류 해결 방법 (ERROR 2002 (HY000)) ..
MariaDB 설치 시 오류 해결 방법 (ERROR 2002 (HY000)) 너무 난관이 길었기에(특히 포트 겹침 현상!!)기록용으로 보관한다. 마리아DB 설치 후 기본 셋팅을 위해 아래 명령어 작성 하면 root pw를 물어본다. sudo mysql_secure_installation 헌데... 정확한 pw를 입력했으나, 원하는 페이지는 보이지 않고 아래 오류만 줄기차게 맞이하게 되는데.... ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2) 이 오류가 두가지 경우에서 난다고 한다. 1. 하나는 진짜 해당 경로에 mysql sock이 없는 경우 2. 하나는 기존에 사용하던 Mysql 등이 있어 포트가 겹치는 경우 각각 해결방법이 다른데 안타깝게도 2대의 PC에..