[0624] Django Rest Framework

nikevapormax·2022년 6월 24일
0

TIL

목록 보기
58/116
post-custom-banner

Django Rest Framekwork

DB ORM

- 데이터 조회

# 조회
Model.objects.all()
Model.objects.filter()
Model.objects.get()

- 데이터 추가

# 추가1
model = Model(
	field1="value1",
  field2="value2"
)
model.save()

# 추가2
Model.objects.create(
  field1="value1",
  field2="value2"
)

- 데이터 수정

# 수정1
model = Model.object.get(id=obj_id)
model.field = value
model.save()

# 수정2
Model.objects.filter(field__contains=value).update(
    field1="value1",
    field2="value2"
)

- 데이터 삭제

# 삭제
Model.objects.filter(field="value").delete()
Model.objects.get(id=obj_id).delete()

- 활용

# objects.get에서 객체가 존재하지 않을 경우 DoesNotExist Exception 발생
try:
    Model.objects.get(id=obj_id)
except Model.DoesNotExist:
    # some event
    return Response("존재하지 않는 오브젝트입니다.")

# -join_date처럼 "-"를 붙이면 역순으로 정렬
# .order_by("?")사용시 무작위 셔플
Model.objects.all().order_by("join_date") 

# queryset에서 첫번째 object를 가져옴. all()[0]과 동일
Model.objects.all().first()

# 입력한 object가 존재 할 경우 해당 object를 가져오고, 존재하지 않을 경우 새로 생성
object, created = Model.objects.get_or_create(
    field1="value1",
    field2="value2",
)

if created: 
    # created event
else: 
    # already exist event
profile
https://github.com/nikevapormax
post-custom-banner

0개의 댓글