【问题标题】:Django serializer send array in objectDjango 序列化程序在对象中发送数组
【发布时间】:2019-10-20 00:03:27
【问题描述】:

我有这样的模型:

class Model1(models.Model):
    time = models.DateTimeField(auto_now=True)

class Model2(models.Model):

    model1= models.ForeignKey(Model1, on_delete=models.CASCADE, related_name="my_list")
    f1 = models.FloatField()

我想为这样的发送数据创建端点:

{"time":"123", "my_list":[{"f1":"123"}, {"f1":"123"}, {"f1":"123"}]}

这是我的序列化器

class TestSerializer(serializers.ModelSerializer):


 class Meta:
        model = Model1
        fields = ('id',
                  'time',
                  'my_list',)

如何发送我想要的 json? (

{"time":"123", "my_list":[{"f1":"123"}, {"f1":"123"}, {"f1":"123"}]}

)

【问题讨论】:

    标签: python django model django-rest-framework serialization


    【解决方案1】:

    ListFieldDictField 一起用作child

    class TestSerializer(serializers.ModelSerializer):
        my_list = serializers.ListField(child=serializers.DictField())
        class Meta:
            model = Model1
            fields = ('id', 'time', 'my_list',)

    【讨论】:

    • 根据列表中对象的复杂程度,您可能需要设置child=serializers.JSONField
    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 2018-03-01
    • 2011-01-24
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2017-06-28
    相关资源
    最近更新 更多