はちょうどこのような何かをこれは私のシリアライザクラス
class DealSerializer(serializers.ModelSerializer):
class Meta:
model = Deal
image = serializers.SerializerMethodField()
fields = [
'title',
'description',
'image'
]
def get_image(obj):
return obj.image.url
からのものであり、これが私の見解です:
class PhotoSerializer(serializers.ModelSerializer):
class Meta:
model = Photo
read_only_fields = ('created_on', 'updated_on')
class PhotoViewSet(CreateListModelMixin, viewsets.ModelViewSet):
serializer_class = PhotoSerializer
queryset = Photo.objects.all()
def ref_directory_path(instance, filename):
# file will be uploaded to MEDIA_ROOT/ref/<id>/
return 'ref/{0}/{1}'.format(instance.ref.id, filename)
class Photo(models.Model):
image = models.ImageField(upload_to=estates_directory_path)
caption = models.CharField(max_length=50, blank=True)
description = models.TextField(blank=True)
ref_model = models.ForeignKey(MyModel, on_delete=models.CASCADE,
related_name="pictures")
def __str__(self):
return self.caption
、参照モデルのシリアライザで
:
class MyModelSerializer(serializers.HyperlinkedModelSerializer):
url_apprise = serializers.HyperlinkedIdentityField(
view_name='estate-assess')
location_info = LocationInfoSerializer(many=True, read_only=True)
photos = PhotoSerializer(many=True, read_only=True)
class Meta:
model = Estate
read_only_fields = ('created_on', 'updated_on')
はい、それは私が何をするかを理解しようとしています。 –
いいえ...私はちょうど –
あなたのファイルのようにコードをインデントできましたか?それはおそらくあなたはインデントエラーがある – e4c5