0

他のプロジェクトにリンクする ManyToMany フィールドである前提条件属性を持つ Project モデルがあります。つまり、各プロジェクトは、完了する前に完了しなければならない 0 個以上のプロジェクトを持つことができます。

class Project(models.Model):
    title = models.CharField(max_length=200)
    prequisites = models.ManyToManyField('self', null=True, blank=True)

このプロジェクトの前提条件であるすべてのプロジェクトを返却するにはどうすればよいですか? 私はこのようなことをしたい:

project_a = Project.objects.get(title="My Cool Project")

for pre_requisite in project_a.prequisites:
    # do something with pre_requisite

しかしproject_a.prequisites、オブジェクトを返しManyRelatedManagerます。特別な _set 属性も機能していないようです:

project_a.prequisites_set
AttributeError: 'Project' object has no attribute 'prequisites_set'

別のモデルで前提条件をモデル化することを考えています:

class ProjectPrequisite(models.Model):
    project = models.ForeignKey(Project)
    prequisite = models.ForeignKey(Project)

しかし、私の言いたいことがわかっているなら、私は物事を正しい方法で行いたいと思います。

4

1 に答える 1