Сериализация двух полей CharFields в один объект
У меня есть сериализатор, как показано ниже. Теперь у меня есть разделенные поля для store_photo и store_name.
class ProductSerializer(serializers.ModelSerializer):
store_photo = serializers.CharField(source='store.photo', read_only=True)
store_name = serializers.CharField(source='store.name', read_only=True)
class Meta:
model = Product
fields = ['store_photo', 'store_name', ...]
Могу ли я как-то сериализовать их вместе в один объект? Я имею в виду что-то вроде этого:
store = {store_photo, store_name}
class Meta:
model = Product
fields = ['store', ...]
Вы можете попробовать SerializerMethodField
class ProductSerializer(serializers.ModelSerializer):
calculated_store = serializers.SerializerMethodField()
class Meta:
model = Product
fields = ['calculated_store', ...]
def get_calculated_store(self, obj):
return {obj.store.photo, obj.store.name}