이 그것에 대해 여부를 갈 수있는 올바른 방법인지 나는 모르겠어요 나머지 프레임 워크에 문제가 있어요위한 특정 필드를 무시합니다. 나는 그래서 게시물 2 종류의 .. 이미지와 텍스트 포스트가 다음과 같은 모델장고 - 나머지는 특정 개체
class Post(models.Model):
user = models.ForeignKey(User)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
date = models.DateTimeField(auto_now=True)
show = models.BooleanField(default=True)
title = models.CharField(max_length=100, blank=True, null=True)
body = models.TextField(null=True, blank=True)
role = models.IntegerField(max_length=1, choices=POST_OPTIONS, default=1)
image = models.ImageField(upload_to="photos", blank=True, null=True)
s3Url = models.URLField(blank=True, null=True)
tags = TaggableManager()
그리고 나머지 프레임 워크
class PostSerializer(serializers.HyperlinkedModelSerializer):
image_url = serializers.Field(source='get_imgage_url')
image_file = serializers.ImageField()
role = serializers.Field(source='get_role')
class Meta:
model = Post
fields = ('url', 'user', 'created', 'updated', 'date', 'show', 'title', 'body', 'role', 'image_url', 'image')
read_only_fields = ('user', 'created', 'updated')
에 대해 다음 시리얼 있습니다. 게시물에 이미지가 없으면 image 또는 image_url을 표시하고 싶지 않습니다.
나는 rest 프레임 워크를 만드는 방법을 알아낼 수 없다.
도움 주셔서 감사합니다!
하나의 옵션은 두 개의 서로 다른 시리얼을 작성하는 것입니다. 뷰에서 get_serializer_class() 메서드를 재정 의하여 이미지가 있는지 여부에 따라 선택할 수 있습니다. –
감사합니다 .. 나는 그 기능에 대해 몰랐다. 그래서 나는 그것을 살펴볼 것이다 – Mike