以下两句话有什么区别?
from django.shortcuts import get_object_or_404和
from rest_framework.generics import get_object_or_404发布于 2021-06-16 11:52:06
如果传递的kwarg类型与所需类型不匹配,django.shortcuts.get_object_or_404可以引发Http404以外的错误(即TypeError、ValueError和ValidationError)。因此,rest_framework.generics.get_object_or_404只是简单地包装django.shortcuts.get_object_or_404,即使在这些情况下,Http404仍然会引发,因为DRF在内部使用该函数,并且传递的数据很容易与所需的数据类型不匹配,从而导致意外的500个错误。
从DRF的源代码[GitHub]可以看出这一点。
从django.shortcuts将get_object_or_404导入为_get_object_or_404 def get_object_or_404(queryset、*filter_args、**filter_kwargs):“”与Django的标准快捷方式相同,但如果filter_kwargs不匹配所需的类型,则确保也会引发404“。尝试:返回_get_object_or_404(queryset,*filter_args,**filter_kwargs),除了(TypeError,ValueError,ValidationError):举起Http404
https://stackoverflow.com/questions/68001954
复制相似问题