django rest framework OPTIONS 500 -


i'm getting strange 500 error when issuing option request endpoint in api built django rest framework. get, post, put work fine , delete not allowed.

when issuing option request endpoint, following error , traceback:

traceback: file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response   111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view   57.         return view_func(*args, **kwargs) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/viewsets.py" in view   85.             return self.dispatch(request, *args, **kwargs) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/views.py" in dispatch   452.             response = self.handle_exception(exc) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/views.py" in dispatch   449.             response = handler(request, *args, **kwargs) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/views.py" in options   463.         data = self.metadata_class().determine_metadata(request, self) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/metadata.py" in determine_metadata   63.             actions = self.determine_actions(request, view) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/metadata.py" in determine_actions   89.                 actions[method] = self.get_serializer_info(serializer) file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/metadata.py" in get_serializer_info   106.             field_name, field in serializer.fields.items() file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/metadata.py" in <listcomp>   106.             field_name, field in serializer.fields.items() file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/metadata.py" in get_field_info   129.         if hasattr(field, 'choices'): file "/users/awwester/sites/django/rlg/lib/python3.4/site-packages/rest_framework/relations.py" in choices   382.             item in iterable  exception type: typeerror @ /v1/powerchatsessions exception value: 'nonetype' object not iterable 

here model, serializer, , view:

# models.py - error happens when issuing options /powerchatsession class videoconversation(models.model):     """     capture data video chat session     note: inherited other classes besides powerchat     """     created = models.datetimefield(auto_now_add=true)     end = models.datetimefield(null=true, blank=true)     users = models.manytomanyfield(user)  class powerchat(videoconversation):     """     power chat session     """     start = models.datetimefield(null=true, blank=true)     extended = models.booleanfield(default=false)     active = models.booleanfield(default=false)   # serializers.py class powerchatserializer(serializers.modelserializer):      class meta:         model = powerchat         read_only_fields = ('users', 'start', 'extended',)  # views.py class powerchatviewset(modelviewset):     queryset = powerchat.objects.all()     permission_classes = (powerchatpermission,)     serializer_class = powerchatserializer     resource_name = "powerchatsession" 

any ideas why happening? has users field, , seems bug django rest framework? it's checking if field has choices kwarg, doesn't, apparently drf thinks does?

i think issue addressed by:

https://github.com/tomchristie/django-rest-framework/issues/3115

the gist "at moment, self.action none in viewsets if options request."

this issue ceased me after upgraded djangorestframework-3.2.3


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -