Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django 1.0中创建管理内联线?_Django_Django Admin - Fatal编程技术网

如何在Django 1.0中创建管理内联线?

如何在Django 1.0中创建管理内联线?,django,django-admin,Django,Django Admin,我正在研究Django书中的例子,但这本书是为0.96编写的,我使用的是1.0.2,是的,我知道,这不是最好的主意。但是阅读Django的“将你的应用程序从0.96移植到1.0”文档已经为我消除了大部分差异。直到我需要在管理页面上实现第二个模型的内联编辑 我使用自定义关键字搜索模型,允许您搜索使用Django的Flatpages应用程序制作的页面。模型如下: 类搜索关键字(models.Model): 要为Flatpages管理页面上显示的SearchKeyword设置StackedLine

我正在研究Django书中的例子,但这本书是为0.96编写的,我使用的是1.0.2,是的,我知道,这不是最好的主意。但是阅读Django的“将你的应用程序从0.96移植到1.0”文档已经为我消除了大部分差异。直到我需要在管理页面上实现第二个模型的内联编辑

我使用自定义关键字搜索模型,允许您搜索使用Django的Flatpages应用程序制作的页面。模型如下:


类搜索关键字(models.Model):


要为Flatpages管理页面上显示的SearchKeyword设置StackedLine,my admin.py应该是什么样子?

您可以执行以下操作:

class SearchKeywordInline(admin.StackedInline):
    model = SearchKeyword
    extra = 3

class FlatPageAdmin(admin.ModelAdmin):
    inlines = [SearchKeywordInline]

# unregister the FlatPage model from the admin site so I can
# register it again with the inline stuff (Thanks Carl & Jason)
admin.site.unregister(FlatPage)
admin.site.register(FlatPage, FlatPageAdmin)
更多信息请访问官方网站

更新:修复代码以满足您的要求。

请退出
我想这会很好

一旦我让它正常工作,下面是代码。谢谢你们的帮助

from cms.search.models import SearchKeyword
from django.contrib.flatpages.models import FlatPage
from django.contrib import admin

class SearchKeywordInline(admin.StackedInline):

    model = SearchKeyword
    extra = 3

class FlatPageAdmin(admin.ModelAdmin):

    inlines = [SearchKeywordInline]


# unregister the FlatPage model from the admin site so I can
# register it again with the inline stuff.
admin.site.unregister(FlatPage)
admin.site.register(FlatPage, FlatPageAdmin)

hrm,这基本上就是我所拥有的,但它不起作用,在我复制了你的代码后仍然不起作用。我猜还有其他错误…使用上面的代码(一旦你将FlatpageAdmin修复为FlatpageAdmin),我猜你会得到一个AlreadyRegistered错误;您可能需要先注销admin.site.unregister(FlatPage)。您可能还想从contrib/flatpages/admin.py中继承FlatPageAdmin。我曾短暂地看到一个AlreadyRegistered错误,但当我刷新页面时,它消失了。我会尝试注销的,谢谢。修复了Flatpage/Flatpage的错误。使用admin.site。Carl建议的注销(Flatpage)可以很好地解决我的问题。我真的很想强调一下django文档有多棒。你应该读一读,扔掉那本过时的书……然后一边写一边读即将出版的第二版。在线提供。
from cms.search.models import SearchKeyword
from django.contrib.flatpages.models import FlatPage
from django.contrib import admin

class SearchKeywordInline(admin.StackedInline):

    model = SearchKeyword
    extra = 3

class FlatPageAdmin(admin.ModelAdmin):

    inlines = [SearchKeywordInline]


# unregister the FlatPage model from the admin site so I can
# register it again with the inline stuff.
admin.site.unregister(FlatPage)
admin.site.register(FlatPage, FlatPageAdmin)