2013-07-13 5 views
1

У меня есть классы в разных моделях. Первый из них, названный Аудиокнигаdjango admin page выпадающий внешний ключ

from django.db import models 
from labels.models import Label 


class Audiobook(models.Model): 
    """the audiobook object""" 
    title = models.TextField() 
    content = models.TextField() 
    cover = models.FilePathField() 
    playtime = models.TextField() 
    moneyLink = models.TextField() 
    status = models.BooleanField(default=False) 
    label = models.ForeignKey(Label) 

второй, называется Этикетка

from django.db import models 


class Label(models.Model): 
    """the label object""" 
    name = models.TextField() 
    description = models.TextField() 
    status = models.BooleanField(default=False) 

В аудиокниг У меня есть ForeignKey на объект Label.

Теперь классы администратора.

audiobook_admin:

from audiobooks.models import Audiobook 
from labels.models import Label 
from django.contrib import admin 


class LabelInline(admin.TabularInline): 
    model = Label 


class AudiobookAdmin(admin.ModelAdmin): 
    fieldsets = [ 
     (None, {'fields': ['title']}), 
     (None, {'fields': ['content']}), 
     (None, {'fields': ['cover']}), 
     (None, {'fields': ['playtime']}), 
     (None, {'fields': ['moneyLink']}), 
     (None, {'fields': ['status']}), 
     (None, {'fields': ['label']}) 
    ] 
    inlines = [LabelInline] 

admin.site.register(Audiobook, AudiobookAdmin) 

Ярлык админ класс:

from labels.models import Label 
from django.contrib import admin 


class LabelAdmin(admin.ModelAdmin): 
    fieldsets = [ 
     (None, {'fields': ['name']}), 
     (None, {'fields': ['description']}), 
     (None, {'fields': ['status']}) 
    ] 

admin.site.register(Label, LabelAdmin) 

С Лейбл части все отлично.

Что я должен сделать, чтобы выбрать ярлык на странице администрирования Audiobook с помощью элемента управления Dropdown? Если я не буду, чтобы ввести новую аудиокнигу I следующее сообщение об ошибке:

Exception Value: <class 'labels.models.Label'> has no ForeignKey to <class 'audiobooks.models.Audiobook'> 

Спасибо за каждую помощь!

ответ

0

Элемент Dropdown является стандартным для ForeignKey.

конфигурации администратора по умолчанию должны работать:

from labels.models import Label 
from audiobooks.models import Audiobook 
from django.contrib import admin 

admin.site.register(Label) 
admin.site.register(Audiobook) 
Смежные вопросы