最佳答案
我有两个模型,一个与 M2M 的关系和一个相关的名称。我想在序列化程序和相关字段中包含 所有字段。
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)
Py:
class ToppingSerializer(serializers.ModelSerializer):
class Meta:
model = Topping
fields = '__all__'
这是可行的,但是不包括相关的字段。
fields = ['name', 'price', 'pizzas']
这正如我所希望的那样工作,但是当 Toppings 模型有很多字段时会发生什么呢。我想这样做:
fields = ['__all__', 'pizzas']
这种语法导致一个错误:
字段名
__all__
对模型无效
有没有办法达到想要的行为?或者在使用相关名称时必须手动键入字段?