使用Django教程「編寫自己的Django應用程序」,我在Part 2上。Django文檔第2部分:爲什麼我不能在一行中導入Poll,PollAdmin和Choices?
中途,它指示我向管理員添加一行,以便管理員不僅可以識別Poll(和PollAdmin,本教程已爲某些自定義輪詢展示選項配置了該選項),還可以選擇Choice。這裏的(短)更新admin.py:
from polls.models import Poll
from polls.models import Choice
from django.contrib import admin
class PollAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
admin.site.register(Poll, PollAdmin)
admin.site.register(Choice)
見到這種情景,我想不通爲什麼我不能簡單地寫
admin.site.register(Poll, PollAdmin, Choice)
除了這給了我一個類型錯誤,因爲
register() takes at most 3 arguments (4 given)
這看起來對我來說真的很隨意。我不明白爲什麼註冊只需要最多3個參數。我對Django的理解仍然是一個非常巫術,貨運邪教的水平,所以我明白這一點。不。工作,但我想知道是否可以解釋爲什麼我無法同時從admin.site中提取所有三個元素。
你明白我不理解 - 我確實認爲這是一個註冊與管理員的所有事情,而不是使用PollAdmin類註冊Poll。感謝您的簡短而有力的解釋。 – JeanSibelius 2012-07-26 00:15:26