Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取属于模型的开发人员_Python_Django - Fatal编程技术网

Python 获取属于模型的开发人员

Python 获取属于模型的开发人员,python,django,Python,Django,我在做一个查询,过滤属于项目模型的开发人员,因为我要让活动模型只生成属于项目模型的开发人员列表 这是一个项目模型: class Project(models.Model): name = models.CharField(max_length=50, unique=True) developer = models.ManyToManyField(Developer) state = models.BooleanField(default=False) task =

我在做一个查询,过滤属于项目模型的开发人员,因为我要让活动模型只生成属于项目模型的开发人员列表

这是一个项目模型:

class Project(models.Model):
    name = models.CharField(max_length=50, unique=True)
    developer = models.ManyToManyField(Developer)
    state = models.BooleanField(default=False)
    task = models.ForeignKey(Task, on_delete=models.CASCADE, null=True, blank=True)
    slug = models.SlugField(max_length=50, unique=True)
    created_at = models.DateTimeField(auto_now_add=True)
    update_at = models.DateTimeField(auto_now=True)
这是任务模型:

class Task(models.Model):
    developer = models.ManyToManyField(Developer)
    type_task = models.ForeignKey(TypeTask, on_delete=models.CASCADE)
    task = models.CharField(max_length=50)
    activities = models.ManyToManyField(Activities, through='ActivitiesTasks')
    description = models.TextField()
    state = models.BooleanField(default=True)
    slug = models.SlugField(max_length=60, unique=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
范例


Task.objects.filter(developer=?).exists()

多对多字段不能以这种方式工作, 假设您需要属于任务id 1的开发人员 然后

对于项目开发人员,您也可以这样做,获得您需要的项目,然后获得项目中的所有开发人员,就像我在任务中所做的那样

proj = Project.objects.get (id=1)
Devs = proj.developer.all ()

但是我正试图把所有属于项目模型的开发人员都带来,按照你的建议,只带来一个,这意味着你只有一个开发人员在做这个项目……有很多开发人员,活动也可能在很多开发人员中,那么你发布的问题不是你需要的。如果您需要所有开发人员,而不必按项目或任务获取他们
devs=Developer.objects.all()
返回数据库中的所有开发人员将您的问题标题重新命名为可以帮助他人的名称,project不是每个人都会使用的名称,如果他们想完成同样的任务,可能是你被否决的原因
proj = Project.objects.get (id=1)
Devs = proj.developer.all ()