Как мне сделать админские посты в Django 1.0? - PullRequest
1 голос
/ 10 февраля 2009

Я работаю над примерами из имеющейся у меня книги по Django, но книга была написана для 0,96, и я использую 1.0.2, да, я знаю, не самая лучшая идея. Но чтение документа Django «портирование ваших приложений с 0,96 на 1,0» помогло мне разобраться в большинстве различий. Пока я не дошёл до того, что мне нужно реализовать встроенное редактирование второй модели на странице администратора.

Я использую пользовательскую модель поиска по ключевым словам, чтобы позволить вам искать страницы, созданные с помощью приложения Django Flatpages. Ниже модель:

class SearchKeyword(models.Model):</p> <pre><code> keyword = models.CharField(max_length=50, blank=True) page = models.ForeignKey(FlatPage) def __unicode__(self): return self.keyword

Как должен выглядеть мой admin.py для настройки StackedInline для SearchKeyword, который отображается на странице администрирования Flatpages?

Ответы [ 3 ]

3 голосов
/ 10 февраля 2009

Вы можете сделать что-то вроде этого:

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)

Больше информации в официальном Django docs

Обновление : исправлен код, соответствующий вашим требованиям.

0 голосов
/ 12 февраля 2009

Вот код, как только я понял, что он работает правильно. Спасибо за помощь, ребята

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)
0 голосов
/ 11 февраля 2009

Выезд текст ссылки Я думаю, что попадет в точку

...