InlineModelAdmin 未显示在管理页面上

问题描述 投票:0回答:2

我有

from django.db import models
from django.contrib import admin

# Create your models here.


class Author(models.Model):
    name = models.CharField(max_length=10)

class Book(models.Model):
    author = models.ForeignKey(Author, null=True, blank=True)
    title = models.CharField(max_length=10)

class BookInline(admin.TabularInline):
    model = Book

class AuthorAdmin(admin.ModelAdmin):
    inlines = [
            BookInline,
        ]

在我的管理页面上注册,但是书籍没有显示在作者的管理页面中。我是否误解了这是如何运作的?我希望能够在管理页面上添加和删除作者的书籍。

django django-models django-admin
2个回答
7
投票

这是你应该在 admins.py 中拥有的:

from django.contrib import admin
from models import Author, Book

class BookInline(admin.StackedInline):
    model = Book


class AuthorAdmin(admin.ModelAdmin):
    inlines = [ BookInline ]

admin.site.register(Author, AuthorAdmin)
admin.site.register(Book)

您可能忘记在这一行中包含“AuthorAdmin”:

admin.site.register(Author, AuthorAdmin)

0
投票

我也有同样的问题 在 admins.py 中

class RunwayDetailsInline(admin.TabularInline):
    model = RunwayDetails
    extra = 1
class RunwayInfoAdmin(admin.ModelAdmin):
    INLINES = [RunwayDetailsInline, ]
    list_display = (
        'airport',
        'dimensions',
        'surface',

    )
admin_site.register(RunwayInfo, RunwayInfoAdmin)

但它仍然没有显示在管理网站上

© www.soinside.com 2019 - 2024. All rights reserved.