簡體   English   中英

在 Django 中創建沒有模型的帖子

[英]Create post without model in django

對不起我的英語不好。 我是 Django 的新手,我想創建自定義帖子。 我沒有為此建模,我不需要創建它。 我無法理解如何在 Django 中創建正常的帖子請求。 下面我嘗試創建它

看法:

class CreateCustopPost(generics.GenericAPIView):

    permission_classes = (permissions.IsAuthenticated,)
    serializer_class = CustomSerializer

序列化程序:

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')

我的問題:需要在model =的序列化器類中輸入什么?

ModelSerializer在您需要對模型執行某些操作時使用。 ModelSerializer 自動創建與模型字段對應的字段。 由於您沒有任何模型,您可以使用普通的Serializer類,在這種情況下您不需要指定模型:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM