为什么Django的ModelAdmin使用列表而不是元组,反之亦然

时间:2010-09-08 20:02:19

标签: python django

来自Django简介教程,\mysite\polls\admin.py

from django.contrib import admin
#...
class PollAdmin(admin.ModelAdmin):
  #...
  inlines = [ChoiceInline]
  list_display = ('question', 'pub_date', 'was_published_today')
  list_filter = ['pub_date']

admin.site.register(Poll, PollAdmin)

为什么内联和list_filter都使用列表,而list_display使用元组?内联和list_filters由于某种原因需要变异吗?

我只想在这里了解设计决定。

1 个答案:

答案 0 :(得分:6)

使用哪个并不重要,因为Django(和你)在运行时永远不会改变它们。所有重要的是值是一个可迭代的字符串。当只有一个元素时,我经常使用foo = ["something"],因为当我意外地说foo = ("somthing")而不是foo = ("something",)时,我经常被钉死。

我会把这个单元素元组符号问题放在我的Python刺激物列表中,就在“重要的空白”之后。那就是说,我仍然喜欢这种语言。