Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 异常值:以10为底的int()的文本无效:';id';_Python_Django_Django Rest Framework - Fatal编程技术网

Python 异常值:以10为底的int()的文本无效:';id';

Python 异常值:以10为底的int()的文本无效:';id';,python,django,django-rest-framework,Python,Django,Django Rest Framework,这些是我的代码文件 views.py import json from django.views.generic import View from django.http import HttpResponse from updates.api.mixins import CSRFExemptMixin from updates.forms import UpdateModelForm from updates.models import Update as UpdateModel fro

这些是我的代码文件

views.py


import json
from django.views.generic import View
from django.http import HttpResponse

from updates.api.mixins import CSRFExemptMixin
from updates.forms import UpdateModelForm
from updates.models import Update as UpdateModel

from cfeapi.mixins import HttpResponseMixin

class UpdateModelDetailAPIView(HttpResponseMixin, CSRFExemptMixin, View): ## <--- here is the problem
   '''
   Retreive, Update, Delete
   '''
   is_json = True

   def get_object(self, id=None):
       # try:
       #   obj = UpdateModel.objects.get(id=id)
       # except UpdateModel.DoesNotExist:
       #   obj = None
       '''
       Below handles DoesNotExist Exception too
       '''
       qs = UpdateModel.objects.filter(id=id)
       if qs.count() == 1:
           return qs.first()
       return None


   def get(self, request, id, *args, **kwargs):
       obj = self.get_object(id=id)
       # obj = UpdateModel.objects.get(id=id)
       # print(obj)
       if obj is None:
           error_data = json.dumps({'message' : 'Update not found'})
           return self.render_to_response(error_data, status=404)
       json_data = obj.serialize()
       return self.render_to_response(json_data)
form.py---CSRFExemptMixin中的super()引导

from django import forms
from .models import Update as UpdateModel

class UpdateModelForm(forms.ModelForm):
    class Meta:
        model = UpdateModel
        fields = [
                'user',
                'content',
                'image'
        ]


    def clean(self, *args, **kwargs):
        data = self.cleaned_data
        content = data.get('content', None)
        if content == "":
            content = None
        image = data.get('image', None)
        if content is None and image is None:
            raise forms.ValidationError('Content or image is required.')
        return super().clean(*args, **kwargs)
问题是什么时候我的代码会像这样运行

class UpdateModelDetailAPIView(HttpResponseMixin, View):
它运行得很好,没有显示错误

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\generic\base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\utils\decorators.py" in _wrapper
  45.         return bound_method(*args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\decorators\csrf.py" in wrapped_view
  54.         return view_func(*args, **kwargs)

File "D:\Django2_byExample_practice\apituts\cfeapi\updates\api\mixins.py" in dispatch
  8.        return super().dispatch(*args, *kwargs) #super(CSRFExemptMixin, self)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\generic\base.py" in dispatch
  97.         return handler(request, *args, **kwargs)

File "D:\Django2_byExample_practice\apituts\cfeapi\updates\api\views.py" in get
  36.       obj = self.get_object(id=id)

File "D:\Django2_byExample_practice\apituts\cfeapi\updates\api\views.py" in get_object
  29.       qs = UpdateModel.objects.filter(id=id)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py" in filter
  892.         return self._filter_or_exclude(False, *args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py" in _filter_or_exclude
  910.             clone.query.add_q(Q(*args, **kwargs))

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in add_q
  1290.         clause, _ = self._add_q(q_object, self.used_aliases)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in _add_q
  1318.                     split_subq=split_subq, simple_col=simple_col,

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in build_filter
  1251.         condition = self.build_lookup(lookups, col, value)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in build_lookup
  1116.         lookup = lookup_class(lhs, rhs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\lookups.py" in __init__
  20.         self.rhs = self.get_prep_lookup()

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\lookups.py" in get_prep_lookup
  70.             return self.lhs.output_field.get_prep_value(self.rhs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\fields\__init__.py" in get_prep_value
  968.         return int(value)

Exception Type: ValueError at /api/updates/2/
Exception Value: invalid literal for int() with base 10: 'id'
但当我像下面这样运行它时

class UpdateModelDetailAPIView(HttpResponseMixin, CSRFExemptMixin, View):
它向我显示了错误

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\handlers\base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\generic\base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\utils\decorators.py" in _wrapper
  45.         return bound_method(*args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\decorators\csrf.py" in wrapped_view
  54.         return view_func(*args, **kwargs)

File "D:\Django2_byExample_practice\apituts\cfeapi\updates\api\mixins.py" in dispatch
  8.        return super().dispatch(*args, *kwargs) #super(CSRFExemptMixin, self)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\views\generic\base.py" in dispatch
  97.         return handler(request, *args, **kwargs)

File "D:\Django2_byExample_practice\apituts\cfeapi\updates\api\views.py" in get
  36.       obj = self.get_object(id=id)

File "D:\Django2_byExample_practice\apituts\cfeapi\updates\api\views.py" in get_object
  29.       qs = UpdateModel.objects.filter(id=id)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\manager.py" in manager_method
  82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py" in filter
  892.         return self._filter_or_exclude(False, *args, **kwargs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py" in _filter_or_exclude
  910.             clone.query.add_q(Q(*args, **kwargs))

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in add_q
  1290.         clause, _ = self._add_q(q_object, self.used_aliases)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in _add_q
  1318.                     split_subq=split_subq, simple_col=simple_col,

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in build_filter
  1251.         condition = self.build_lookup(lookups, col, value)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\query.py" in build_lookup
  1116.         lookup = lookup_class(lhs, rhs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\lookups.py" in __init__
  20.         self.rhs = self.get_prep_lookup()

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\lookups.py" in get_prep_lookup
  70.             return self.lhs.output_field.get_prep_value(self.rhs)

File "C:\Users\Nitin NiK\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\fields\__init__.py" in get_prep_value
  968.         return int(value)

Exception Type: ValueError at /api/updates/2/
Exception Value: invalid literal for int() with base 10: 'id'

在块中的
kwargs
之前,您拼错了第二个字符
*

from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator


class CSRFExemptMixin(object):
    @method_decorator(csrf_exempt)
    def dispatch(self, *args, **kwargs):
        return super().dispatch(*args, *kwargs)

选中
super().dispatch(*args,*kwargs)
调用,在那里发送
*kwargs
而不是
**kwargs

您从错误消息中了解到了什么?你有没有试图缩小这个问题的范围?读一读,也许吧。这回答了你的问题吗?你提出的问题帮助我了解了更多关于这方面的事情。