You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django中筛选Transaction模型:查询用户参与的所有交易

Django交易记录查询解决方案

要查询用户作为发送方或接收方的所有交易,需要使用Django的Q对象实现或逻辑过滤(默认filter为与逻辑),具体实现如下:

代码修正与实现

  1. 先在views.py中导入Q对象:
from django.db.models import Q
  1. 完成过滤语句,同时注意修正模型类名的拼写一致性(你的模型类定义为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 01:27:39