Reputation: 878
Sorry for my english. I new in django, and i want create custom post. I have not model for this and i dont need create it. I cant understand how create normal post reqest in django. Bellow my try create it
view:
class CreateCustopPost(generics.GenericAPIView):
permission_classes = (permissions.IsAuthenticated,)
serializer_class = CustomSerializer
serializer:
class CustomSerializer(serializers.ModelSerializer):
type_report = serializers.CharField(max_length=23)
client_token = serializers.CharField(max_length=128)
year_p_start = serializers.DecimalField(max_digits=10, decimal_places=2)
month_p_start = serializers.DecimalField(max_digits=10, decimal_places=2)
day_p_start = serializers.DecimalField(max_digits=10, decimal_places=2)
year_p_end = serializers.DecimalField(max_digits=10, decimal_places=2)
month_p_end = serializers.DecimalField(max_digits=10, decimal_places=2)
day_p_end = serializers.DecimalField(max_digits=10, decimal_places=2)
class Meta:
model = # i dont have model for this.
fields = ('type_report', 'client_token', 'year_p_start', 'month_p_start', 'day_p_start',
'year_p_end', 'month_p_end', 'day_p_end')
my qestion: what need typing in serializer class in model = ?
Upvotes: 0
Views: 51
Reputation: 47364
ModelSerializer
used in case you need to perform some action on model. ModelSerializer automatically create fields that correspond to the Model fields. Since you don't have any model you can use normal Serializer
class, in this case you dont need to specify model:
class CustomSerializer(serializers.Serializer):
type_report = serializers.CharField(max_length=23)
client_token = serializers.CharField(max_length=128)
year_p_start = serializers.DecimalField(max_digits=10, decimal_places=2)
month_p_start = serializers.DecimalField(max_digits=10, decimal_places=2)
day_p_start = serializers.DecimalField(max_digits=10, decimal_places=2)
year_p_end = serializers.DecimalField(max_digits=10, decimal_places=2)
month_p_end = serializers.DecimalField(max_digits=10, decimal_places=2)
day_p_end = serializers.DecimalField(max_digits=10, decimal_places=2)
Upvotes: 2