Python 序列化程序字段的名称可能不正确,并且与'list'实例上的任何属性或键都不匹配

Python 序列化程序字段的名称可能不正确,并且与'list'实例上的任何属性或键都不匹配,python,serialization,django-rest-framework,Python,Serialization,Django Rest Framework,您好,我有一个型号deals.py,如下所示: class deals(models.Model): GENDER_NAME = ( ('M', 'Male'), ('F', 'Female'), ('O', 'Others'), ('A', 'All'), ) AGE_RANGE = ( ('A1', '18-25'), ('A2', '25-40'),

您好,我有一个型号
deals.py
,如下所示:

class deals(models.Model):

    GENDER_NAME = (
        ('M', 'Male'),
        ('F', 'Female'),
        ('O', 'Others'),
        ('A', 'All'),
    )

    AGE_RANGE = (
        ('A1', '18-25'),
        ('A2', '25-40'),
        ('A3', '40-55'),
        ('A4', '55-100'),
        ('A5', '18-100'),
        ('AL', '13-100'),
        ('T1', '13-18')
    )

    store = models.ForeignKey(storesModel, on_delete=models.CASCADE, related_name='deals_store')
    title = models.CharField(max_length=30)
    description = models.CharField(max_length=160)
    price = models.DecimalField(max_digits=6, decimal_places=2)
    category = models.ForeignKey(categoriesModel, on_delete=models.PROTECT)
    targeted_gender = models.CharField(max_length=1, choices=GENDER_NAME)
    targeted_age = models.CharField(max_length=2, choices=AGE_RANGE)
    is_active = models.BooleanField(default=False)
    created_date = models.DateField(auto_now_add=True)
    expiry_date = models.DateField(default=dt(2019, 9, 2, 11, 51, 50, 959364))
class StoreActiveDealsSerializer(serializers.ModelSerializer):

    class Meta:
        model = dealsModel
        fields = '__all__'
我有一个django rest seralizer,如下所示:

class deals(models.Model):

    GENDER_NAME = (
        ('M', 'Male'),
        ('F', 'Female'),
        ('O', 'Others'),
        ('A', 'All'),
    )

    AGE_RANGE = (
        ('A1', '18-25'),
        ('A2', '25-40'),
        ('A3', '40-55'),
        ('A4', '55-100'),
        ('A5', '18-100'),
        ('AL', '13-100'),
        ('T1', '13-18')
    )

    store = models.ForeignKey(storesModel, on_delete=models.CASCADE, related_name='deals_store')
    title = models.CharField(max_length=30)
    description = models.CharField(max_length=160)
    price = models.DecimalField(max_digits=6, decimal_places=2)
    category = models.ForeignKey(categoriesModel, on_delete=models.PROTECT)
    targeted_gender = models.CharField(max_length=1, choices=GENDER_NAME)
    targeted_age = models.CharField(max_length=2, choices=AGE_RANGE)
    is_active = models.BooleanField(default=False)
    created_date = models.DateField(auto_now_add=True)
    expiry_date = models.DateField(default=dt(2019, 9, 2, 11, 51, 50, 959364))
class StoreActiveDealsSerializer(serializers.ModelSerializer):

    class Meta:
        model = dealsModel
        fields = '__all__'
在我看来,我试图返回一个分页的响应:

data = dealsModel.objects.filter(store=storeid)
paginator = LimitOffsetPagination()
data = paginator.paginate_queryset(data, request),
print(type(data))
serializer = StoreActiveDealsSerializer(data, many=True)
print(type(serializer.data))
return paginator.get_paginated_response(serializer.data)
但是,我收到以下错误:

AttributeError:尝试获取序列化程序
StoreActiveDeasserializer
上的字段
title
的值时,获取了AttributeError。 序列化程序字段的名称可能不正确,并且与
列表
实例上的任何属性或键都不匹配。 原始异常文本为:“列表”对象没有属性“标题”

如果我尝试一个简单的JsonResponse,它会起作用:

deals = dealsModel.objects.filter(store=storeid)
serializer = StoreActiveDealsSerializer(deals, many=True)
return JsonResponse(serializer.data, safe=False)
如何在这种情况下实现分页?

我发现了错误:

data = paginator.paginate_queryset(data, request),
data=paginator.paginate\u queryset(数据,请求)