У меня две модели: одна с отношением M2M и связанное имя. Я хочу включить поля all в сериализаторе и связанном с ним поле.
models.py:
class Pizza(models.Model):
name = models.CharField(max_length=50, unique=True)
toppings = models.ManyToManyField(Topping, null=True, blank=True, related_name='pizzas')
class Topping(models.Model):
name = models.CharField(max_length=50, unique=True)
price = models.IntegerField(default=0)
serializer.py:
class ToppingSerializer(serializers.ModelSerializer):
class Meta:
model = Topping
fields = '__all__'
Это работает, но не содержит связанного с ним поля.
fields = ['name', 'price', 'pizzas']
Это работает точно так, как я хочу, но что происходит, когда модель Toppings имеет много полей. Я хочу сделать что-то вроде:
fields = ['__all__', 'pizzas']
Этот синтаксис приводит к ошибке:
Имя поля
__all__
недействительно для модели
Есть ли способ достичь желаемого поведения? Или поля должны вводиться вручную при использовании связанного имени?