django-serializer

Editing django-rest-framework serializer object before save

痴心易碎 提交于 2019-11-27 05:18:49
问题 I want to edit a django-rest-framwork serializer object before it is saved. This is how I currently do it - def upload(request): if request.method == 'POST': form = ImageForm(request.POST, request.FILES) if form.is_valid(): # All validation rules pass obj = form.save(commit=False) obj.user_id = 15 obj.save() How can I do it with a django-rest-framework serializer object? @api_view(['POST','GET']) def upload_serializers(request): if request.method == 'POST': serializer = FilesSerializer(data

Dynamically exclude or include a field in Django REST framework serializer

浪尽此生 提交于 2019-11-27 02:08:49
问题 I have a serializer in Django REST framework defined as follows: class QuestionSerializer(serializers.Serializer): id = serializers.CharField() question_text = QuestionTextSerializer() topic = TopicSerializer() Now I have two API views that use the above serializer: class QuestionWithTopicView(generics.RetrieveAPIView): # I wish to include all three fields - id, question_text # and topic in this API. serializer_class = QuestionSerializer class QuestionWithoutTopicView(generics.RetrieveAPIView

Django rest framework serializing many to many field

一笑奈何 提交于 2019-11-26 12:06:26
问题 How do I serialize a many-to-many field into list of something, and return them through rest framework? In my example below, I try to return the post together with a list of tags associated with it. models.py class post(models.Model): tag = models.ManyToManyField(Tag) text = models.CharField(max_length=100) serializers.py class PostSerializer(serializers.ModelSerializer): class Meta: model = Post fields = (\"text\", \"tag\"??) views.py class PostViewSet(viewsets.ReadOnlyModelViewSet):