Python/Django(4)
-
[Django] 마이그레이션을 합쳐보아용
Django에서 제공하는 squsashmigrations 을 써봐용 python manage.py squashmigrations python manage.py squashmigrations example 0003 0004 개발자가 직접 Migration을 squash 해용 1. 002(작업 이전 migration)로 migrate를 한다. python manage.py migrate myapp 002 2. 003 이후 migration 파일을 모두 지운다 3. migration을 새로 만든다 python manage.py makemigrations 4. migrate를 한다! 💡 개발자가 직접 하는 것이 기존에 참고할수 있는 이력을 남기고 불필요한 마이그레이션만 지울 수 있어서 관리에 좋아용
2022.12.06 -
Django - ManyToManyField.through_fields
Django 에서 ManyToManyField를 사용하다 보면 중간 테이블이 자동으로 만들어 지는 것이 아닌 내가 원하는 정보를 넣어서 중간 테이블을 커스텀 하려고 하는 경우가 발생한다. (필자의 경우 오늘 그랬다.) 나의 경우에는 유저와 게시물로 Like를 다대다관계로 만들었고 그 중에서 Like 발생 날짜를 테이블에 넣어주고자 했다. from django.db import models class User(models.Model): name = models.CharField(max_length=100) def __str__(self): return self.name class Post(models.Model): title = models.CharField(max_length=100) desc = mod..
2022.09.15 -
기술면접 study _ Django
장고 구조 1. 장고의 디자인 패턴에 대해 설명해보세요 MTV MVC패턴과 명칭이 다르고 기본적인 골자는 동일한 패턴입니다. Model MVC패턴의 Model에 대응되며 DB에 저장되는 데이터입니다. Model은 클래스로 정의되며 하나의 클래스가 하나의 DB Table입니다. 장고는 ORM기능을 지원하기 때문에 파이썬 코드로 DB를 조작할 수 있습니다. Template MVC패턴의 View에 대응되며 유저에게 보여지는 화면을 의미합니다. 장고는 View에서 로직을 처리한 후 html파일을 context와 함께 렌더링하는데 이때 html파일을 Template(템플릿)이라고 합니다. 장고는 자체적인 Django Template 문법을 지원하며 이 문법 덕분에 html 파일 내에서 context로 받은 데이터..
2022.08.02 -
Django 모델 ForeignKeyField on_delete 종류
CASCADE : FK로 참조하는 레코드가 삭제 될 경우 해당 레코드를 삭제한다. SET_NULL : FK 필드의 값을 Null로 변경해준다. null=True가 정의되어 있어야 사용 가능하다. PROTECT : 해당 레코드가 삭제되지 않도록 보호해준다. SET_DEFAULT : FK 필드의 값을 default로 변경해준다. default=””가 정의되어 있어야 사용 가능하다. SET() : FK 필드의 값을 SET에 설정된 함수를 통해 원하는 값으로 변경할 수 있다. DO_NOTHING : 아무런 동작을 하지 않는다. 참조 관계의 무결성이 손상될 수 있기 때문에 권장하지 않는다.
2022.06.13