0

我有以下型号:

class Client(models.Model):
    ...

class Document(models.Model):
    client = models.ForeignKey(Client, related_name='clients')
    ...

class MainVoiceActual(models.Model):
    doc = models.ForeignKey(Document, related_name='documents')
    value = models.IntegerField()

我的目标是在模板中打印属于特定客户的文档的所有值的总和。为此,我想在我的模型中添加一个calc_total方法。Client

我尝试了以下方法,但它不起作用:

class Client(models.Model):
    name = models.CharField(max_length=150)

    def calc_total(self):
        docs = Document.objects.filter(client=self)

        return sum(doc.mainvoiceactuals_set.value for doc in docs)

我收到一个'Document' object has no attribute 'mainvoiceactuals_set'错误

4

1 回答 1

0

得到它的工作:

def calc_total(self):
    voices = MainVoiceActual.objects.filter(doc__client=self)
    return sum(voice.value for voice in voices)
于 2017-06-20T08:53:19.080 回答