장고(Django)에서 순환 종속성(circular dependency)은 서로가 서로를 의존하는 모듈 또는 패키지 간의 관계를 말합니다. 이는 코드 구조에서 일반적으로 문제가 될 수 있는 상황입니다. 장고 프로젝트는 여러 개의 앱으로 구성될 수 있습니다. 각 앱은 모델, 뷰, 템플릿 등의 구성 요소를 포함하고 있습니다. 종종, 한 앱이 다른 앱의 모델이나 뷰를 참조해야 할 때 순환 종속성 문제가 발생할 수 있습니다. 예를 들어, 앱 A가 앱 B의 모델을 참조하고 앱 B가 앱 A의 모델을 참조한다고 가정해 봅시다. 이 경우, 앱 A를 실행하려면 앱 B의 모델이 필요하고 앱 B를 실행하려면 앱 A의 모델이 필요합니다. 따라서 어느 앱을 먼저 로드해야 할지 결정할 수 없습니다. 이는 순환 종속성이 발생한 상..
장고에서는 Foreign Key (외래 키) 관계를 설정하는 방법으로 크게 세 가지가 있습니다. 1. 일대다 (One-to-Many) 관계 일대다 관계에서는 한 모델이 다른 모델의 여러 인스턴스와 연결될 수 있지만, 두 번째 모델(Book)의 인스턴스는 첫 번째 모델(Author)의 한 인스턴스에만 연결됩니다. 일대다 관계를 설정하기 위해 ForeignKey 필드를 사용할 수 있습니다. 예시: class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): author = models.ForeignKey(Author, on_delete=models.CASCADE) title = models.CharFi..
reverse와 reverse_lazy 차이 reverse reverse 메소드는 주어진 뷰에 대한 URL을 생성하는데 사용됩니다. 이 메서드는 URL 패턴의 이름과 뷰에 전달해야하는 인수를 받고 URL을 나타내는 문자열을 반환합니다. 이 함수는 호출되는 즉시 평가(evaluated)됩니다. 즉, URL을 즉시 생성합니다. reverse는 즉시 평가되기 때문에 아직 로드되지 않을 수 있는 URL 구성(configurations)(예: Django의 URL 구성에 의존하는 클래스 기반 뷰의 속성을 정의할 때)에는 사용해서는 안됩니다. reverse_lazy 반면에 reverse_lazy는 reverse와 동일한 작업을 수행하지만 더 느립니다. 즉, 명시적으로 액세스(explicitly accessed)할 ..
요구 정책 8자리 이상 영문, 숫자, 특수문자 포함 구현 방식 DRF가 아닌 Pure Django에서 구현했습니다. validators.py에 원하는 검사를 구현하고, forms.py에 validator를 추가했습니다. 구현 settings.py AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.c..
UniqueConstraint에 대한 설명과 django Model클래스의 Meta 클래스에 대한 설명은 아래의 글을 통해 확인할 수 있습니다. Django Model에서의 Meta 클래스 Meta Python에서 'Meta'클래스는 일반적으로 Django 프레임워크에서 models, forms, serializers, views 와 같은 클래스에 대한 추가 정보를 제공하는 데 사용합니다. Meta 클래스는 Django 클래스에 대한 다양한 옵 yesaroun.tistory.com UniqueConstraint 사용 예시 1. True이면서 고유한 경우만 class Employee(models.Model): name = models.CharField( max_length=100, ) department ..
Meta Python에서 'Meta'클래스는 일반적으로 Django 프레임워크에서 models, forms, serializers, views 와 같은 클래스에 대한 추가 정보를 제공하는 데 사용합니다. Meta 클래스는 Django 클래스에 대한 다양한 옵션과 구성을 지정하는 방법입니다. Model에서의 Meta 클래스 Model 클래스에서 Meta 클래스는 다양한 방법으로 모델의 동작을 지정하는데 사용됩니다. Model 클래스에서 Meta 클래스에서 주로 사용되는 옵션은 아래와 같습니다. 'db_table' : 모델에 사용할 DB 테이블 이름을 지정합니다. 지정하지 않으면 Django는 앱 이름과 모델 이름을 기반으로 테이블 이름을 자동으로 생성합니다. 'ordering' : QuerySet에 대한 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.