Обратные отношения Django Rest Framework
У меня есть сериализатор Photo, который переводит загруженные фотографии в URL
class EntityPhotosSerializer(serializers.ModelSerializer):
image = serializers.SerializerMethodField('get_img')
def get_img(self, entity_photo):
if not entity_photo.image:
raise NotFound
request = self.context.get('request')
return request.build_absolute_uri(entity_photo.image.url)
class Meta:
model = EntityPhoto
fields = ('user', 'entity', 'image',)
А этот сериализатор основан на модели, которая связана с Entity Model обратным отношением.
class EntityPhoto(models.Model):
user = models.ForeignKey('users.CustomUser', on_delete=models.CASCADE, null=True, related_name='entity_photo_user')
entity = models.ForeignKey(Entity, on_delete=models.CASCADE, null=False, related_name='entity_photo')
image = models.FileField(upload_to='entities/')
created_at = models.DateTimeField(editable=False, default=timezone.now)
updated_at = models.DateTimeField(default=timezone.now)
Класс Entity
class Entity(models.Model):
Не имеет полей, связывающих с EntityPhotos, но я хотел бы добавить фотографии в Entity Serializer
class EntityCreateSerializer(serializers.ModelSerializer):
class Meta:
model = Entity
fields = '__all__'
И я хотел бы показать EntityPhotos, которые имеют Entity_id=pk из url. То есть каждый раз, когда я делаю get запрос к entity/1, я хочу видеть также фотографии, которые имеют entity_id == 1. У вас есть идеи как это сделать?