什么是django模型中的function_foo.boolean = True?

时间:2013-11-06 10:36:59

标签: django model

以下是来自https://github.com/jeffbowen/django-logicaldelete/blob/master/logicaldelete/models.py

的代码

我想了解代码中active.boolean = True的作用。

class Model(models.Model):
    """
    This base model provides date fields and functionality to enable logical
    delete functionality in derived models.
    """

    date_created  = models.DateTimeField(default=timezone.now)
    date_modified = models.DateTimeField(default=timezone.now)
    date_removed  = models.DateTimeField(null=True, blank=True)

    objects = managers.LogicalDeletedManager()

    def active(self):
        return self.date_removed == None
    active.boolean = True  # <------------------- HERE

    def delete(self):
        self.date_removed = timezone.now
        self.save()

    class Meta:
        abstract = True

1 个答案:

答案 0 :(得分:3)

在Python中,函数和方法就像其他任何对象一样。此代码只是向boolean函数添加属性active,该函数可以在代码中的其他位置使用。它本身没有任何意义。

在这种情况下,管理列表显示代码使用它来在列表中显示一个漂亮的图标而不是True / False。

相关问题