假设我们有Pizza和Topping模型,而Topping则具有Pizza的外键字段。
我们有一个django rest框架视图集,该视图集返回顶部。
我们希望能够询问具有给定ID的披萨中使用的浇头的问题,例如:
GET /toppings?pizza_id__in=1,2,456
我们有
class ToppingsFilter(django_filters.rest_framework.FilterSet):
class Meta:
strict = False
fields = {
'id': ['exact'],
'pizza_id': ['exact', 'in']
}
问题是当使用不存在的pizza_id调用GET时,出现以下错误:
{
"pizza_id__in": [
"Select a valid choice. That choice is not one of the available choices."
]
}
如果传递有效的比萨饼ID(现有的比萨饼ID),则可以按预期运行!
这是默认行为吗?这似乎没有任何意义。为什么还要对GET操作进行此类验证。 GET / toppings?pizza_id__in = 1,2,435456的意图显然是选择以下对象:
SELECT from toppings where pizza_id IN (1,2,435456)
答案 0 :(得分:0)
我想我会忍受的。