분류 전체보기 (963) 썸네일형 리스트형 [비공개] Weekly Report - 22/10/03~22/10/09, 834일차 보호되어 있는 글입니다. [비공개] Weekly Report - 22/09/26~22/10/02, 827일차 보호되어 있는 글입니다. [TIL] Django ORM values, annotate, Subquery, OuterRef, JSONField, Type Cast 부분 적용 자세한 내용은 Django 공식 문서에 있다. 여기서는 기존 다른 SQL에서 자주 사용하는 기능들을 한 눈에 대략적으로 파악할 수 있도록만 정리한다. Django 공식 문서 - Queryset https://docs.djangoproject.com/en/4.1/ref/models/querysets/ 코드 User.objects .annotate( user_name=F("name"), comment_file_path=Subquery( Comment.objects.annotate(file_path=F("data__file_path")) .values("data__file_path") .filter(user=OuterRef("pk"))[:1] ), ) .values("user_name", "comment_fi.. [TIL] 부모 Serializer field 값 제거 부모의 field값을 제거하기 기존 View가 ParentSerializer을 사용해서 응답 필드값들을 내보내고 있었는데, 기존과 다르게 재사용하다보니 unnecessary_id=null로 불필요하게 클라이언트에게 전달되는 상황. 해당 ParentSerializer를 ChildSerializer로 한 번 더 감싸고, __init__ 메서드에서 self.fields로 unnecessary_id 값을 제거함 class ChildSerializer( ParentSerializer ): def __init__(self, *args, **kwargs): """ pop unnecessary_id """ super(ChildSerializer, self).__init__( *args, **kwargs ) self.f.. [TIL] Django created_by, modified_by 적용하기 : django crum, settings.AUTH_USER_MODEL 등 1. 기본원리 기본원리는 threading → Local로 개별 쓰레드가 user를 물고와서 Middleware를 통해 Model를 업데이트 해주는 방식 https://solutionschecker.com/questions/django-populate-user-id-when-saving-a-model/ 2. Django Crum library Django crum에서 get_current_user()를 처리하기 전에, 앞선 미들웨어인 AuthenticationMiddleWare에서 Request.user를 불러오는데, 여기서 get_user() 메서드 쪽을 보면 세팅에서 지정한 User를 참고하여 불러오는 것을 확인할 수 있다. 이렇게 구해진 user 정보가 django crum의 middleware로 .. [비공개] Weekly Report - 22/09/19~22/09/25, 820일차 보호되어 있는 글입니다. [TIL] Django ModelSerializer의 field, validate()의 data ModelSerializer의 field 구분 어떤 Serializer가 ModelSerializer를 상속받도록 만들었다면, Meta 라는 class를 만들고 그 내부에 field 값들을 적게 된다. 그리고 상위에 custom 필드, read_only_fields를 아래와 같은 방식으로 작성한다. class CustomeSerializer( serializers.ModelSerializer, ): desc = serializers.CharField(write_only=True) color = serializers.CharField( label="색깔", help_text="`#FFFFFF` 형태의 정확한 HEX 값을 입력해주세요.", required=False ) class Meta: model = C.. [비공개] Weekly Report - 22/09/12~22/09/18, 813일차 보호되어 있는 글입니다. 이전 1 ··· 43 44 45 46 47 48 49 ··· 121 다음