-4

不明白在哪里调用这个方法(records_quantity),请提示。现在我收到一个错误(AttributeError:'Subject' 对象没有属性'record_set')

class Subject(models.Model):
    name = models.CharField(max_length=100)

    def records_quantity(self):
        return self.record_set.count()

z = Subject()
z.records_quantity()

class Record(models.Model):
    subject = models.ForeignKey(Subject)
    record_short_description = models.CharField(max_length=100)
4

1 回答 1

2

创建模型方法,而不是将其声明为属性。

class Subject(models.Model):
    name = models.CharField(max_length=100)

    def records_quantity(self):
        return self.record_set.count()

现在你可以做类似的事情

subject.records_quantity()

subject模型的实例在哪里Subject

如果您不想records_quantity使用 a访问(),请使用@property装饰器

class Subject(models.Model):
    name = models.CharField(max_length=100)

    @property
    def records_quantity(self):
        return self.record_set.count()

所以,你可以访问它

subject.records_quantity
于 2013-11-14T16:08:04.893 回答