Python/Django
[Models] QuerySetAPI
**** 장고는 SQL에 영향이 미치는 메소드 앞에 배치하는것을 선호합니다 QuerySet 클래스의 두가지 공통속성 ordered QuerySet이 정렬된 경우 참입니다. 모델에 order_by() 절 또는 기본 순서가 있습니다. 그렇지 않으면 거짓이다. db 이 쿼리가 지금 실행될 경우 사용될 데이터 베이스입니다. new QuerySets 을 반환하는 Method filter() fliter(*args , **kwargs) 주어진 인자들과 조건이 일치하는 QuerySet을 반환합니다. SQL의 WHERE절의 조건이 됩니다. 키워드인수 사용시 아래와 같은형태를 나타냅니다. SELECT ... WHERE 조건식; or문이 있는 형식은 *args를 사용합니다. exclude() exclude(*args , ..
[Models]외래키 Field 와 참조무결성
ForeignKey 다대일 관계입니다. 두가지 옵션이 강제됩니다. 참조클래스이명 on_delete from django.db import models Class 클래스명(models.Model): 필드네임(칼럼네임) = models.ForeignKey('참조할필드의 클래스명',on_delete=models.참조속성) 이렇게 생성하면 실제 db에서는 아래와같은 일이 일어납니다. 필드네임_id로 칼럼이생성됩니다. db_column 을 이용하여 지정할 수 있습니다. key속성은 multiple 이 됩니다. bigint 타입으로 생성됩니다. index가 자동으로 생성됩니다.db_index = False 로 해제할 수 있습니다. 다른 APP의 모델을 참조하려면 아래와같이 사용하시면 됩니다. '앱이름'.'해당클래스..
[Models] type of Field (ForeignKey not in)
**여기서 나오는 위젯이란 단어는 HTML 위젯을 의미함 숫자형필드 AutoField SQL에서 auto-increment 속성을 지니는 필드입니다. 직접 사용해서 지정할일이 거의 없습니다. 왜냐하면, Django 는 테이블 생성시 auto-increment를 지닌 int타입 id칼럼을 자동으로 생성해주기때문입니다. BigAutoField 1 ~ 9223372036854775807 범위를 보장하는 64비트 정수 BigIntegerField (기본위젯 NumberInput) -9223372036854775808 ~ 9223372036854775807 범위를 보장하는 64비트 정수 PositiveBigIntegerField 0 ~ 9223372036854775807의 양수 타입 PositiveIntegerF..
Project start(2) 프로젝트 기본셋팅
** 프로젝트 가상환경 활성화를 전제로 합니다. 1.필요한 파일들 pip로 다운 pip install django pip install mysqlclinet #mysql server에 접속하기위한 package #mysql이 깔려있는지 먼저확인해 봅니다. pip install django-dors-headers #만일 맥북 m1칩사용자라면 pip install PyMySQL pip list pip freeze 위의 두가지 명령어는 내가 설치한 pip 패키지들을 확일하게 해주는 명령어 이다. 2.database 생성 $ mysql -u root -p mysql> create database 생성할db이름 character set utf8mb4 collate utf8mb4_general_ci; 3.djang..
Project start(1) 미니콘다 설치 및 사용하기
**이글은 맥북을 기준으로 합니다. 1.미니콘다 설치하기 1. 아래 링크에 들어가서 각자 os 맞는파일의 노란부분을 우클릭하여 '링크 주소' 를 복사합니다. https://docs.conda.io/en/latest/miniconda.html Miniconda — Conda documentation Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a fe..
가상환경이란?
가상환경이란? 특정한 공간을 만들어 그안에서 버젼,모듈들을 관리 하는것 가상환경은 pip , python-version , django-version등 한정된 항목들을 독립시키는것이다. 내가 가지고있는 .jpeg 사진을 가상환경 A에서 삭제한다고 해서 B에서 남아있지 않는다. 하지만, 가상환경 A에서 Django를 설치했다면 가상환경 B에서는 Django가 설치되어있지 않다. (저같은 경우에는 버젼충돌을 염려하여 base환경에 Django가 깔려있지 않습니다.) 가상환경을 왜 사용할까?! 프로젝트별 파이썬 버젼,패키지들이 다른경우 개발자가 수동으로 관리해줘야합니다. 이때 가상환경을 사용하면 각각 프로젝트별로 관리하기 수월합니다. 또한 가상환경프로그램에따라 기본적으로 제공하는 라이브러리,모듈들이 있어 수월..