Django:如何从模型关系创建查询集?

Django:如何从模型关系创建查询集?,django,django-models,Django,Django Models,一段时间以来,我一直在努力把握关系,如果有人能在这个问题上帮助我,我将非常感激 我有一个通过一对多将用户模型连接到ProcessInfo模型的关系,然后我有一个将ProcessInfo作为一对一连接到ProcessInfo模型的关系 是否有一种方法可以使用用户id从该用户处获取与所有流程相关的所有流程假设 我想检索与用户id相关的所有ProcessAssumption的查询集 以下是模型关系: class ProcessInfo(models.Model): process_name

一段时间以来,我一直在努力把握关系,如果有人能在这个问题上帮助我,我将非常感激

我有一个通过一对多将用户模型连接到ProcessInfo模型的关系,然后我有一个将ProcessInfo作为一对一连接到ProcessInfo模型的关系

是否有一种方法可以使用用户id从该用户处获取与所有流程相关的所有流程假设

我想检索与用户id相关的所有ProcessAssumption的查询集

以下是模型关系:

class ProcessInfo(models.Model):

    process_name = models.CharField(max_length=120, null=True)

    user_rel = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)


class ProcessAssumptions(models.Model):
    
    completion_time = models.FloatField(default='0')

    process_rel_process = models.OneToOneField(ProcessInfo, primary_key = True, on_delete=models.CASCADE)

对外键使用字段引用

process\u-assemption\u-objects=processassemptions.objects.filter(process\u-rel\u-process\u-user\u-rel=)

替换为要查询的id。

在另一个模型Y中定义与模型X的关系时,可以通过
X\u instance.Y\u set.all()从X的实例访问所有相关的Y。您甚至可以对其执行常规的
筛选
获取
操作
X\u instance.Y\u set
是Y的默认对象管理器(与Y.objects相同),但它被过滤为仅包含与X\u instance相关的对象。 因此,在这种特定情况下,您可以获得特定用户的所有
ProcessInfo
对象,如下所示:

user=user.objects.get(用户id)
必需的假设=[user.process\u info\u set.all()中的proc\u信息的proc\u info.process\u假设]
使用
\u set
后缀可能有点难以理解,因此您可以在定义模型上的关系时定义
相关的\u name
参数。 比如:

#类内进程信息
user\u rel=models.ForeignKey(user,null=True,on\u delete=models.SET\u null,related\u name='processes')
#现在你可以做了
某些用户.processs.all()