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

如何在Django-viewflow中查询分配给用户的所有任务?

Django-viewflow 查询指定用户任务及关联Process任务方法

一、使用TaskQuerySet.inbox()查询指定用户的任务

inbox()是viewflow内置的用于获取用户待办任务的QuerySet方法,调用方式简洁直接:

  • 在视图中获取当前请求用户的待办任务:
    from viewflow.models import Task
    
    def user_tasks(request):
        user_tasks = Task.objects.inbox(user=request.user)
        # 后续业务处理,如模板渲染、返回JSON等
    
  • 指定特定用户查询:先获取目标用户对象,再传入inbox()方法
    from django.contrib.auth.models import User
    from viewflow.models import Task
    
    target_user = User.objects.get(username="target_user_name")
    assigned_tasks = Task.objects.inbox(user=target_user)
    

inbox()会自动过滤出分配给目标用户、且处于待处理状态的任务,无需额外添加过滤条件。

二、从Process对象查询关联的用户任务

Process与Task是一对多关联(Task通过process外键关联到Process),可通过Process实例的反向关联查询任务:

  1. 基础过滤:查询该流程下分配给指定用户的所有任务
    from viewflow.models import Process
    
    # 获取目标Process实例
    process = Process.objects.get(pk=1)
    # 过滤该流程下指定用户的任务
    user_process_tasks = process.task_set.filter(assignee=target_user)
    
  2. 结合inbox():仅获取该流程下用户的待办任务,直接在反向关联QuerySet上调用inbox()
    user_process_inbox_tasks = process.task_set.inbox(user=target_user)
    

内容的提问来源于stack exchange,提问作者surge_

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 09:50:28