【发布时间】:2019-06-12 22:44:50
【问题描述】:
这是我的模型
class NumberList(models.Model):
userId = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=50)
number = models.PositiveIntegerField()
spam = models.BooleanField(default=False)
def __str__(self):
return str(self.number)
这是我的序列化程序类
class FindNameSerializer(serializers.ModelSerializer):
class Meta:
model= NumberList
fields = ('name','number')
这是我的看法
class FindName(ListAPIView):
print("server error hai")
serializer_class = FindNameSerializer
def get_queryset(self, *args, **kwargs):
number = self.kwargs.get("number")
queryset = NumberList.objects.filter(number=number)
return queryset
过滤号码并在以下网址返回名称和号码
path('find/<slug:number>/',FindName.as_view(), name='number'),
我在我的 api 中得到以下结果
[
{
"name": "Saiful Hasan",
"number": 8888888888
}
]
不过,我的目标也是在我的 API 中返回向用户报告的垃圾邮件总数,最终 API 应如下所示
[
{
"name": "Saiful Hasan",
"number": 8826478938
"spam": 3
}
]
垃圾邮件的数量可以计算为
spam=NumberList.objects.filter(spam=True).count()
如何在结果查询集中添加垃圾邮件
【问题讨论】:
标签: python django django-models django-rest-framework