2012-01-27 3 views
4

вот мой коддолжен быть список или кортеж

from League.models import Leagues 
from League.models import Team 
from django.contrib import admin 

class TeamsInLeague(admin.StackedInline): 
    model = Team 
    extra = 1 

class LeagueAdmin(admin.ModelAdmin): 
    fields = ['LeagueName'] 
    inlines = TeamsInLeague 

admin.site.register(Leagues,LeagueAdmin) 

он дает мне ошибку

«LeagueAdmin.inlines» должен быть список или кортеж.

он отлично работает, когда я удалить «Внутристрочные = TeamsInLeague»

Я следую учебник, а не слова, но пытается решить мою собственную проблему

ThankYou.

+3

Вы знаете, как Python представляет списки или кортежи? Подсказка: для этого требуется некоторая пунктуация. –

+0

Я noob, и я пытаюсь решить две проблемы в одном. узнать python и узнать django: D – debuggerpk

+0

вот подсказка. Не делай этого. Сначала изучите Python. Сделайте весь учебник. Это сэкономит вам много времени в будущем. –

ответ

13

Ошибка довольно ясна - inlines должен быть списком или кортежем, а не классом. Используйте

inlines = [TeamsInLeague] 

или

inlines = (TeamsInLeague,) 
2

The Django admin reference page есть пример модели с одним инлайн элемента: даже в этом случае, вам нужно сделать inlines список.

Так что вместо того, что у вас есть в настоящее время, используйте inlines = [TeamsInLeague].

Смежные вопросы