👩💻 개발/⚙️ BACKEND
[Django] admin 계정 생성
api까지 잘 만들고 난 뒤 admin 페이지를 들어가 봤더니 아무것도 없어서 당황한 김에 정리해보는 글 1. 슈퍼 유저 생성 - admin 페이지를 접속할 수 있는 계정 python manage.py createsuperuser 사용자 이름 , 이메일, 비밀번호를 순차적으로 입력해주면 계정이 생성된다. -1) 비밀번호 초기화 python manage.py changepassword admin 2. 로컬 서버 실행 및 접속 python manage.py runserver http://127.0.0.1:8000/admin/ : 으로 접속 3.admin 페이지에 모델 등록 #admin.py from django.contrib import admin from api.models import * # Regist..
[Django] related_name 설정
related_name은 장고 ORM모델을 위한 것이며, ORM모델은 쿼리문 없이 장고에서 데이터베이스와 소통하기 위한 것이다. 간단히 설명하면 "나"를 ForeignKey로 가지는 모델을 굳이 쿼리 조회 없이 쉽게 가져올 수 있게 하기 위한 장치이다. related_name이란 이름을 가진 포인터로 "나"라는 모델에 "나를 ForeignKey로 가지는" 모델이 연결되는 것이다. 그러므로 참조해준 객체 입장에서 설정을 해 줘야 하는 것이다. 예시 코드 class Post(BaseModel): user = models.ForeignKey('User', related_name='user') user = models.ForeignKey('User', related_name='post') 전자는 user.use..
[SpringBoot/JPA] 무한 참조 및 type definition error: (simple type) 문제
https://ahndding.tistory.com/24 [JPA] FetchType.Lazy로 인한 JSON 오류 (InvalidDefinitionException: No serializer found for class) 발단 Front에서 엔티티를 저장하는 과정에서 처음 데이터를 저장하는 순간에는 올바르게 작동하지만 수정(edit)하고 저장할 때에는 에러(HttpStatus 500)를 리턴한다는 문제가 발생했다. (다만 DB상으 ahndding.tistory.com https://blog.naver.com/adamdoha/222214494979 @OneToOne 무한 참조 문제 또는 hibernateLazyInitializer 또는 byteBuddy~ 문제 대략 다음과 같이 연관관계가 맺어진 Orde..
[Spring/Jpa] @Default 설정
Jpa를 이용하면서 디폴트 값을 어떻게 주지?라는 생각을 한 적 이 있다. 열심히 구글링 해본 결과를 적어보고자 한다. 1. 특정 조건이 없는 Default public class Chat{ ... @Column(columnDefinition = "VARCHAR(255) default '익명'") private String name; } @Column 어노테이션을 이용한 방법으로 아래와 같은 공식으로 작성하면 된다. @Column(columnDefinition = "자료형 default 원하는 값") 하지만 이와 같은 방법은 생성자에 해당 값을 빈칸으로 놔두게 되면 null로 들어가게 된다. 2. null 인 경우에만 Default @PrePersist public void prePersist(){ th..
[Spring/Java] @Builder / 빌더패턴
이번 플젝을 하다가 @Builder 어노테이션을 알게 되어 한번 정리해보고자 한다. 1. 빌더패턴 이란? 생성과 관련된 디자인 패턴으로, 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법으로 필수 값에 대해서는 생성자를 통해, 선택적인 값들에 대해서는 메소드를 통해 step-by-step으로 값을 입력받은 후에 build() 메소드를 통해 최종적으로 하나의 인스턴스를 return 하는 방식이다. -1) 정의 GoF 디자인 패턴 중 생성 패턴에 해당 빌더 패턴은 복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성하는 방법 제공 생성해야하는 객체가 Optional 한 속성을 많이 가질 때 더 좋음. 쉽게 말해 생성자에서 인자가 많을때 고려해볼 수 ..