python - 序列化器字段可能命名不正确,并且与 `list` 实例上的任何属性或键都不匹配
问题描述
你好我有一个模型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))
我有一个 django rest seralizer,如下所示:
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:尝试获取
title
序列化程序上的字段值时出现 AttributeErrorStoreActiveDealsSerializer
。序列化器字段可能命名不正确,并且与list
实例上的任何属性或键都不匹配。原始异常文本是:“列表”对象没有属性“标题”。
如果我尝试一个简单的 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_queryset(data, request)
推荐阅读
- javascript - Javascript not operating on loaded elements
- php - Align php code left and right in html
- spring-batch - Running a spring batch with partitions in cloud foundry
- javascript - 使用 Zapier 代码计算字符串中的特定单词
- java - IBM MQ listener service - onMessage not getting triggered
- c++ - C++ Error when threading, std::invoke:
- ejs - 是否可以为 harpe js 参数调用另一个参数?
- r - 如何编写 R lapply 循环,以便如果循环超时,到目前为止生成的所有对象仍然存在于循环之外?
- java - Android Studio 中的秒表按钮崩溃
- php - Delete all posts related to a user in laravel