python继承。统计记录

时间:2013-11-14 16:05:51

标签: python django

我不明白以及调用此方法(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)

1 个答案:

答案 0 :(得分: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访问(),请使用@property装饰器

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

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

因此,您可以将其作为

进行访问
subject.records_quantity