django-serializer

Serialize multiple InMemoryUploadedFile using ListField : Django REST Framework

不打扰是莪最后的温柔 提交于 2020-06-29 03:55:08
问题 How can I serialize multiple InMemoryUploadedFile using serializers.ListField() ?? code snippet #views.py @api_view(['POST', 'GET']) def create_post(request): if request.method == 'POST': altered_request_data = request.data.copy() in_memory_upload_files_list = [value for value in request.FILES.values()] altered_request_data['files'] = in_memory_upload_files_list serializer = PostSerializer(data=altered_request_data) serializer.is_valid(raise_exception=True) serializer.save() return Response

how to create serializer for an enum field in django rest framework

余生长醉 提交于 2020-06-10 10:10:49
问题 i am writing an API in python django rest framework and i am stuck at creating a serializer field for an ENUM, how can i create a serializer field for an ENUM field. my model code is: class Queue(models.Model): class Meta: db_table = 'queues' id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True) name = models.CharField(max_length=45) type = EnumChoiceField(QueueTypes, default=QueueTypes.pending) date = models.DateTimeField(auto_now=True) and i am writing a

how to create serializer for an enum field in django rest framework

…衆ロ難τιáo~ 提交于 2020-06-10 10:07:06
问题 i am writing an API in python django rest framework and i am stuck at creating a serializer field for an ENUM, how can i create a serializer field for an ENUM field. my model code is: class Queue(models.Model): class Meta: db_table = 'queues' id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True) name = models.CharField(max_length=45) type = EnumChoiceField(QueueTypes, default=QueueTypes.pending) date = models.DateTimeField(auto_now=True) and i am writing a

how to mention password field in serializer?

 ̄綄美尐妖づ 提交于 2020-05-26 09:13:46
问题 I have a custom user for authentication and want to create a serializer class for it my custom user's model is like this : class User (AbstractUser): bio = models.TextField(max_length=500, blank=True) birth_date = models.DateField(null=True, blank=True) image=models.FileField(null=True , blank=True) and my serializer is : class UserSerializer (serializers.ModelSerializer): class Meta: model = User fields = ('username' ,'email' ,'password' ,'firstname' , 'last name' ) how could I mention that

Django Rest Framework How to update SerializerMethodField

对着背影说爱祢 提交于 2020-05-12 11:49:11
问题 I have a serializer like this: class PersonSerializer(serializers.ModelSerializer): gender = serializers.SerializerMethodField() bio = BioSerializer() class Meta: model = Person fields = UserSerializer.Meta.fields + ('gender', 'bio',) def get_gender(self, obj): return obj.get_gender_display() I used this to display "Male" and "Female"(insted of "M" of "F") while performing GET request. This works fine. But now I am writing an patch method for the model and SerializerMethodField() has read

Django Rest Framework How to update SerializerMethodField

本秂侑毒 提交于 2020-05-12 11:49:05
问题 I have a serializer like this: class PersonSerializer(serializers.ModelSerializer): gender = serializers.SerializerMethodField() bio = BioSerializer() class Meta: model = Person fields = UserSerializer.Meta.fields + ('gender', 'bio',) def get_gender(self, obj): return obj.get_gender_display() I used this to display "Male" and "Female"(insted of "M" of "F") while performing GET request. This works fine. But now I am writing an patch method for the model and SerializerMethodField() has read

Django use Different Serializer based on parameter

◇◆丶佛笑我妖孽 提交于 2020-03-05 03:55:06
问题 I have a APIView that provides my model instances. I want to use different serializers based on url parameters, beacause I want to serve different fields based on parameter. I didn't want to use if else check for all situations, so I used a function that provide serializer from serializer objects dict based on type key. Is there a good solution? Does anyone have a better suggestion? Also what are you thinking about use different endpoints instead of this method. Here is the code: urls.py from

Django Rest Api - ManyToManyField, Display 'title' instead of 'id' in the Exercises Array

本秂侑毒 提交于 2020-02-26 03:47:45
问题 Django Rest Api - ManyToManyField, Display 'title' instead of 'id' in the Exercises Array HTTP 200 OK Allow: GET, POST, PUT, DELETE, PATCH Content-Type: application/json Vary: Accept [ { "id": 1, "title": "Push Workout Bjarred", "description": "Kör Hårt!", "exercises": [ 3, 4, 5, 6, 9, 10 ], "cardio": [ 4 ] }, { "id": 2, "title": "Pull Workout Loddekopinge", "description": "", "exercises": [ 1, 2, 7, 8 ], "cardio": [] }, { "id": 3, "title": "CardioPass", "description": "", "exercises": [],

Django: Return serializer ValidationError in Model save() method

最后都变了- 提交于 2020-01-15 09:36:09
问题 I use django-rest-framework to create Rest API within Django framework. And it's possible to return any validationError beside serializer methods. But, I was wondering is it possible to return errors from save() method of django model that be translated to django rest validationError ? For example imagine I want to limit creating objects on a specific table. like this: class CustomTable(models.Model): ... # modles fields go here def save(): if CustomTable.objects.count() > 2: # Return a

Django Rest Framework - how to create custom error messages for all ModelSerializer fields?

孤人 提交于 2020-01-12 18:44:09
问题 This is my serializers.py (I want to create a serializer for the built-in User model): from rest_framework import serializers from django.contrib.auth.models import User class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('username', 'password', 'email', ) I'm aware that Django Rest Framework has it's own field validators, because when I try to create a user using a username which already exists, it raises an error saying: {'username': [u'This field must be