我正在构建RestApi我有以下具有三个属性的模型。
class Post(models.Model):
Score=models.IntegerField()
PName = models.CharField(max_length=500,default='')
productName =models.CharField(max_length=500,default='')
def __str__(self):
return self.PName

我希望将PName与ProductName相匹配,并生成一些我用模糊逻辑得分的分数。
Pname,ProductName,score
"Nike Flip-flop","Nike Flip Flop Size 8",86
"Nike Flip-Flop","Puma Flip size 9",45
"Puma Running shoe","Puma Running shoe",100
"puma Running shoe","Puma Flip flop",40

然而,我不知道如何以这种形式呈现结果,其中用户通过了PName =' Nike Flip Flop'得分从高到低
{
"id": 3,
"Score": 100,
"productName": "Nike Flip Flop"
}
{
"id": 6,
"Score": 60,
"productName": "Nike Running shoe"
}
{ "id": 50,
"Score": 45,
"productName": "Puma flop size 8"
}

此处用户将请求传递为" A"并且响应应该是" B"属性和" c" .i想知道如何设计此函数的view.py.Currently我有这种数据的CSV格式,所以如何导入模型中的数据?任何建议或任何指导如何构建此函数。我正在使用Django休息框架工作。
答案 0 :(得分:0)
对于DRF,您可以使用SearchFilter和OrderingFilter过滤数据集并对其进行排序。
对于数据导入,您可以使用csv模块读取文件,然后将其添加到数据库
答案 1 :(得分:0)
结帐github repo。我写了一个示例视图,可以作为参考。