首页 > 解决方案 > Django:如何从模型关系创建查询集?

问题描述

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

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

有没有办法使用用户 ID 来获取与该用户的所有进程相关的所有 ProcessAssumptions。

我想检索与用户 ID 相关的所有 ProcessAssumptions 的查询集

这是模型关系:

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)

标签: djangodjango-models

解决方案


对外键使用字段引用。

process_assumption_objects = ProcessAssumptions.objects.filter(process_rel_process__user_rel=<user_id>)

替换<user_id>为您要查询的 id。


推荐阅读