Closed
Description
Encountered this strange error, any idea what i'm missing?
Django Version: 1.7
Python Version: 2.7.3
DRF: 3.0.2
# Model
class Pin(BaseModel):
user = models.ForeignKey(User)
item = models.ForeignKey(Photo)
board = models.ForeignKey(Board)
class Meta:
unique_together = ('item', 'board')
# Serializer
class PinSerializer(serializers.ModelSerializer):
user = UserSerializer(read_only=True)
board = BoardSerializer()
class Meta:
model = Pin
fields = ('id', 'user', 'item', 'board')
def create(self, validated_data):
board_data = validated_data.pop('board')
board_name = board_data.get('name', 'My favorites')
user = validated_data.get('user', None)
board, created = Board.objects.get_or_create(name=board_name, user=user)
return Pin.objects.create(board=board, **validated_data)
Traceback:
File "/home/django/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
File "/home/django/local/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_viewresponse = wrapped_callback(request, _callback_args, *_callback_kwargs)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/viewsets.py" in viewreturn view_func(_args, *_kwargs)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatchreturn self.dispatch(request, _args, *_kwargs)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatchresponse = self.handle_exception(exc)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/mixins.py" in createresponse = handler(request, _args, *_kwargs)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/serializers.py" in is_validserializer.is_valid(raise_exception=True)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/serializers.py" in run_validationself._validated_data = self.run_validation(self.initial_data)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/fields.py" in run_validatorsself.run_validators(value)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/validators.py" in callvalidator(value)
File "/home/django/local/lib/python2.7/site-packages/rest_framework/validators.py" in filter_querysetqueryset = self.filter_queryset(attrs, queryset)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/manager.py" in manager_methodreturn queryset.filter(**filter_kwargs)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/query.py" in filterreturn getattr(self.get_queryset(), name)(_args, *_kwargs)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_excludereturn self._filter_or_exclude(False, _args, *_kwargs)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in add_qclone.query.add_q(Q(_args, *_kwargs))
File "/home/django/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in _add_qclause, require_inner = self._add_q(where_part, self.used_aliases)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/sql/query.py" in build_filtercurrent_negated=current_negated, connector=connector)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/fields/related.py" in get_lookup_constraintlookups, value)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/lookups.py" in initlookup_class(Col(alias, target, source), val), AND)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/lookups.py" in get_prep_lookupself.rhs = self.get_prep_lookup()
File "/home/django/local/lib/python2.7/site-packages/django/db/models/fields/init.py" in get_prep_lookupreturn self.lhs.output_field.get_prep_lookup(self.lookup_name, self.rhs)
File "/home/django/local/lib/python2.7/site-packages/django/db/models/fields/init.py" in get_prep_valuereturn self.get_prep_value(value)
return int(value)
Exception Type: TypeError at /api/v1/pin/
Exception Value: int() argument must be a string or a number, not 'OrderedDict'