【发布时间】:2021-11-01 11:31:25
【问题描述】:
考虑:
class CouponSerializer(serializers.ModelSerializer):
courses = serializers.PrimaryKeyRelatedField(
many=True, read_only=True)
class Meta:
model = Coupon
exclude = ['users']
如果我删除 read_only=True,我会收到错误:
AssertionError: Relational field must provide a `queryset` argument, override `get_queryset`, or set read_only=`True`.
documentation 声明:
验证字段输入时用于模型实例查找的查询集。关系必须明确设置查询集,或设置 read_only=True
这个要求背后的逻辑是什么?为什么StringRelatedField没有这个要求?
【问题讨论】:
标签: django django-rest-framework django-serializer