Пользовательский Django Inline Admin - PullRequest
2 голосов
/ 03 августа 2011

Допустим, у меня есть эти две модели:

class Egg(models.Model):
    # some fields

class Spam(models.Model):
    egg = models.ForeignKey(Egg)
    img = models.ImageField()

Я планировал включить спам в админку. Проблема в том, что я также хочу, чтобы при загрузке изображений со спамом (, например, ) использовался совершенно другой метод, например, мой собственный вид и шаблон. Пока я только что получил:

class CustomInline(admin.StackedInline):
    model = Spam
    template = 'admin/app/inline.html' # empty

class EggAdmin(admin.ModelAdmin):
    inlines = [CustomInline, ]

Идея состоит в том, чтобы иметь какую-то галерею спама и пользовательскую загрузку изображений в администраторе яйца. (Это достижимо?)

Итак, вопросы:

  1. Я хочу добавить переменные, которые будут доступны в шаблоне (объекты спама на inline.html для галереи). Есть ли способ сделать это?
  2. Можно ли размещать что-либо для просмотра (процесс загрузки)? Или этот конкретный вид должен быть сначала зарегистрирован на сайте администратора или что-то в этом роде?

Я посмотрел на исходный код InlineAdmin, но до сих пор не знаю, что делать / переопределять

Спасибо

1 Ответ

2 голосов
/ 08 августа 2011

используя свойство form, вы можете создать подкласс для вашего ModelForm и полностью изменить способ работы встроенной формы.

...