1. args, kwargs를 사용하는 예제 코드
def sum_numbers(*args):
return sum(args)
class UserView(APIView):
def get(self, request):
numbers = request.data.get("numbers", [])
result = sum_numbers(*numbers)
return Response({'sum': result})
'''
[input]
{
"numbers": [1,2,3,4]
}
[output]
{
"sum": 10
}
'''
2. mutable과 immutable은 어떤 특성이 있고, 각 특성에 대한 자료형
[mutable]
- 값이 변할 수 있다.
- List / Dictionary
[immutable]
- 값이 변할 수 없다.
- Number / String / Tuple
3. DB Field에서 사용되는 Key 종류와 특징
기본키 (promary key)
- 후보키 중에서 선택한 주키(Main Key)
- 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
- Null 값을 가질 수 없다.
- 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다.
후보키 (candidate key)
- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미한다.
- 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.
- 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.
대체키 (alternate key)
- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.
- 보조키라고도 한다.
슈퍼키 (super key)
- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타내지 않는다.
- 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족시키지 못한다.
외래키 (foreign key)
- 외래키(FK)는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용된다.
- 관계(Relation)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성이다.
- 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없다.
4. django에서 queryset과 object 차이점
[queryset]
데이터가 존재하지않더라도 빈리스트로 가져와서 정상 작동됨
.filter('key':value) 사용 시 queryset으로 반환
[object]
데이터가 없다면 에러 발생함
.get('key':value) 사용 시 object 형식으로 반환
'Backend > Django' 카테고리의 다른 글
[Django] DRF - ManyToMany Field의 Serializer (0) | 2022.06.26 |
---|---|
[Django] DRF - serializer에서 필드에 없는 변수 메서드로 생성 (0) | 2022.06.20 |
[파이썬] Django - 프로젝트에 등록되어 있지 않은 파일에서 장고 사용 (0) | 2022.06.14 |
[파이썬] Django - template에서 date format 변경 (0) | 2022.06.10 |
[파이썬] Django - template에서 동적으로 URL을 검사하는 방법 (0) | 2022.06.10 |