以下是来自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
答案 0 :(得分:3)
在Python中,函数和方法就像其他任何对象一样。此代码只是向boolean
函数添加属性active
,该函数可以在代码中的其他位置使用。它本身没有任何意义。
在这种情况下,管理列表显示代码使用它来在列表中显示一个漂亮的图标而不是True / False。