Джанго админ вложенные модели - PullRequest
0 голосов
/ 10 мая 2018

У меня есть модель модели Word, у которой есть внешний ключ к модели Group И я хочу, чтобы структура в админке django была вложенной, например:

-Group
 -Word1 (clickable where I can show all the info about this word model)
 -Word2 (clickable)
 -Word3 (clickable)

Я пытался сделать что-то подобное в admin.py, но получил ошибку: нет мета класса

from django.contrib import admin
from main_app.models import Profile, Project, User, Word, Phrase, Group

def unbound_callable(word):
    return word.name

class WordInline(admin.TabularInline):
    model = Word
    fields = ('name', 'model_callable', 'model_admin_callable', unbound_callable)
    readonly_fields = ('model_callable', 'model_admin_callable', unbound_callable)

    def model_admin_callable(self, word):
        return word.name

class GroupAdmin(admin.ModelAdmin):
    model = Group
    inlines = (Word,)
    class Meta:
        model = Group

admin.site.register([GroupAdmin, Word, Phrase])

1 Ответ

0 голосов
/ 10 мая 2018

register() метод принимает в качестве первого списка моделей модели, но вы прошли там административный класс GroupAdmin.Вместо этого вы можете использовать register() decorator с GroupAdmin.И зарегистрируйте Word и Phrase модели отдельно:

@admin.register(Group)
class GroupAdmin(admin.ModelAdmin):
    inlines = (Word,)

admin.site.register([Word, Phrase])

Обратите внимание, что вам не нужно указывать model = Group внутри ModelAdmin класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...