유화제작 프로젝트 3일차
백엔드와 딥러닝 코드들을 병합하고 프론트 연동을 시작했다. 저번보다는 일찍 시작했지만 내일도 늦게까지 해야될 것 같다. 프론트 때문에 열심히 구현한 기능들을 다 못 보여주는 느낌이라 아쉽다..
[object(1), object(2), object(3)]
Model.objects.get(id=obj_id) # => return object
Model.objects.filter(date=datetime.today()) # => return queryset
DB에 있는 데이터를 추가, 조회, 삭제, 수정하는 코드. 기본적으로 숙지해둬야 편할 것 같다.
# 추가1
model = Model(
field1="value1",
field2="value2"
)
model.save()
# 추가2
Model.objects.create(
field1="value1",
field2="value2"
)
# 조회
Model.objects.all()
Model.objects.filter()
Model.objects.get()
# 수정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