大家好,我有一个搜索功能,但是当使用 .objects.filter() 方法时,我得到一个显示 ID 而不是用户名的查询集。
这是视图:
def search_expense(request):
if request.method == 'POST':
search_str = json.loads(request.body).get('searchText')
expenses = Expense.objects.filter(
amount__istartswith=search_str) | Expense.objects.filter(
date__icontains=search_str) | Expense.objects.filter(
description__icontains=search_str) | Expense.objects.filter(
category__icontains=search_str)
data = expenses.values()
return JsonResponse(list(data), safe=False)
<QuerySet [{'id': 16, '金额': 2.33, '日期': datetime.date(2020, 10, 2), '描述': '某事', 'owner_id': 1 , '类别' : '食品'}]>
因此,我需要将 'owner_id': 1 改为 'owner': username,而不是 'owner_id': 1
模型(User模型是Django的标准模型):
class Expense(models.Model):
amount = models.FloatField()
date = models.DateField(default=now)
description = models.TextField()
owner = models.ForeignKey(to=User, on_delete=models.CASCADE)
category = models.CharField(max_length=255)
def __str__(self):
return self.category
class Meta:
ordering: ['-date']
猛跑小猪
相关分类