序列化嵌套的 lsit_serializer_class

点击查看代码
class TbCustomer(models.Model):
    id = models.AutoField(primary_key=True)
    class Meta:
        db_table = 'tb_customer'
        verbose_name='客户'
        verbose_name_plural= verbose_name

class TbCustomerContent(models.Model):
    id = models.AutoField(primary_key=True)
    customer = models.ForeignerKey(TbCustomer, on_delete=models.CASCADE, related_name='customer ')
    class Meta:
        db_table = 'tb_customer_content'
        verbose_name='客户'
        verbose_name_plural= verbose_name

序列化

class ListSerializer(serializer.ListSerializer):
    def to_representation(data):
        data = data.filter(filter)
        return super(ListSerializer).to_representation(data)

class CustomerContentSerializer(serializer.Serializer):
        class Meta:
            list_serializer_class = ListSerializer
            model = TbCustomerContent
            fields = '__all__'

class TbCustomerSerializer(serializer.Serializer):
        customer = CustomerContentSerializer(many=True, require=False, all_null=True)
        class Meta:
            model = TbCustomer
            fields = '__all__'


posted @ 2022-03-30 17:27  bkylww  阅读(73)  评论(0)    收藏  举报