Django:无法通过流程实例访问管理器

时间:2021-02-17 12:57:59

标签: django django-models

我有以下型号:

class Process (models.Model):
    id = models.CharField(max_length=1000, primary_key=True)
    processName = models.CharField(max_length=100)

class Step (models.Model):
    id = models.CharField(max_length=1000, primary_key=True)
    process = models.ForeignKey(Process, on_delete=models.CASCADE)
    stepName = models.CharField(max_length=100)

我想访问特定的 Step 对象。我愿意:

step=Process.objects.get(id=stepId)

当我尝试在步骤中访问对象时:

step.objects.all()

我有以下错误:

AttributeError: Manager 无法通过 Process 实例访问

如何逐步访问对象?

1 个答案:

答案 0 :(得分:0)

get() 返回单个对象或实例,而 filter() 返回一个查询集。

所以,这里的 stepProcess 模型的一个实例。但是管理器(对象)只能通过模型​​访问。

step 本身就是一个对象。所以你不能使用 step.objects.all()

print(step)
print(step.processName)