Django 2.0教程中的错误,第7部分 - 这是一个错误吗?

时间:2018-02-06 03:11:22

标签: django

当我按照2.0教程进行第7部分时,我注意到"最近发布了#34;在此屏幕截图中:

enter image description here

" was_published_attribute"在教程中设置为True。但如果将其设置为False,则可以显示" False"正确的,如下所示: enter image description here

相关代码位于polls / models.py,

class Question(models.Model):
    ... ...   
    def was_published_recently(self):
        ... ...
    was_published_recently.admin_order_field = 'pub_date'
    was_published_recently.boolean = False
    was_published_recently.short_description = 'Published recently?'

我更改了第was_published_recently.boolean = False行。它再次显示了具有初始化为True的属性的小开/关图标,并显示文本" True / False"将属性初始化为False

这是一个错误吗?有任何修复的建议吗?非常感谢!

我很抱歉我在标题中描述的这个问题很糟糕。如果有人能给我一个更好的头衔我感激不尽。

1 个答案:

答案 0 :(得分:1)

“这不是一个错误,它是一个功能”。引自django doc

  

如果给定的字符串是模型的方法,ModelAdmin或返回True或False的可调用Django将显示一个漂亮的“on”或“off”图标,如果你给该方法一个值为True的布尔属性。 / p>

因此,当您将was_published_attribute.boolean = True添加到管理类时,django将使用红色或绿色图像替换单词False和True。因此,在您的情况下,错误符号只是指示was_published_attribute的实际值为false。尝试使用was_published_attribute=True创建新记录,您会看到这个新对象的绿色标志而不是错误符号。