티스토리 뷰
반응형
from django.db import models
class Blog(models.Model):
title=models.CharField(max_length=25)
def __str__(self) -> str:
return self.title
class Image(models.Model):
blogId=models.ForeignKey(Blog,on_delete=models.CASCADE,related_name="images")
image=models.ImageField(default='media/제목없음.jpeg',upload_to="")
def __str__(self):
return self.image
여기에서 related_name="" 설정하는 것이 중요하다.
자세한 내용은 아래 링크 참고
https://www.django-rest-framework.org/api-guide/relations/#api-reference
from django.db import models
from django.db.models import fields
from rest_framework import serializers
from .models import Image, Blog
class ImageSerializer(serializers.ModelSerializer):
class Meta:
model = Image
fields = ['image']
class BlogSerializer(serializers.ModelSerializer):
images = ImageSerializer(many=True, read_only=True)
class Meta:
model = Blog
fields = ('id', 'title', 'images')
depth = 1
def create(self, validated_data):
images_data = self.context['request'].FILES
blog = Blog.objects.create(**validated_data)
for image_data in images_data.getlist('images'):
Image.objects.create(blogId=blog, image=image_data)
return blog
fields에 해당 이름이 존재하면 그것('images')을 참고하여 움직인다.
반응형
'파이썬 > 장고' 카테고리의 다른 글
django test response body 가져오기 (0) | 2021.07.09 |
---|---|
Django user 비밀번호 암호화 (0) | 2021.07.06 |
Django kakao OAuth login 구현 (0) | 2021.06.29 |
django simple-jwt payload 확장하기 (0) | 2021.06.22 |
DRF IMAGE 복수 처리 (0) | 2021.06.22 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자바
- BFS
- 그래프
- Spring
- Java
- PostgreSQL
- Collections
- Linux
- 면접
- 프로그래머스
- headers
- thread
- ubuntu
- Python
- 2021 KAKAO BLIND RECRUITMENT
- 백준
- postgres
- docker-compose
- Pattern
- dockerignore
- setattr
- 카카오
- 알고리즘
- django
- docker
- Command Line
- Celery
- 파이썬
- env
- DRF
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함