如何在Django中筛选Transaction模型:查询用户参与的所有交易
Django交易记录查询解决方案
要查询用户作为发送方或接收方的所有交易,需要使用Django的Q对象实现或逻辑过滤(默认filter为与逻辑),具体实现如下:
代码修正与实现
- 先在
views.py中导入Q对象:
from django.db.models import Q
- 完成过滤语句,同时注意修正模型类名的拼写一致性(你的模型类定义为
Trasaction,需避免查询时的拼写错误):
def transactions_log(request): user = request.user # 用Q对象组合或条件,筛选用户作为发送方或接收方的交易 transactions = Trasaction.objects.filter(Q(sender=user) | Q(receiver=user)).order_by('-date') # 将交易数据传递给模板 return render(request, "trasaction.html", {'transactions': transactions})
关键说明
Q(sender=user) | Q(receiver=user):筛选出发送方为当前用户或接收方为当前用户的交易记录.order_by('-date'):按交易日期倒序排列,最新交易优先展示(可选,可根据需求调整排序规则)
内容的提问来源于stack exchange,提问作者samuel aniekan
相关产品推荐
相关产品推荐

