Обработка формы Ajax в админке django

У меня две модели:

class Customer(models.Model):
    (...)

class CustomerMemo(models.Model):
    (...)
    customer = models.ForeignKey(Customer)
    text = models.TextField()

И в моем admin.py

class MemoInline(admin.StackedInline):
    model = CustomerMemo

class Customer(admin.ModelAdmin):
    (...)
    inlines = (MemoInline,)

Я хочу сделать автосохранение для этих встроенных полей. Я думаю, что ajax-запрос должен быть каждые 30 секунд.

А теперь два вопроса:

  1. Как сделать запрос ajax, который получает необходимые данные со страницы администратора?

  2. Как было бы лучше добавить пользовательский вид администратора, который обрабатывает этот запрос ajax?

Я читал о dajax, но не могу понять, как это может помочь мне в моей задаче. Спасибо


person Taras Volchenko    schedule 28.03.2012    source источник


Ответы (1)


Переопределите шаблон администратора и добавьте JS с некоторой функцией, которая будет собирать данные формы с помощью $(form).serialize() и отправлять ajax POST на сервер. URL для POST может быть самой страницей администратора (если вы не возражаете против перезаписи объекта) или вы можете написать свое собственное представление с необходимой формой и наборами форм. Возможно, вам также потребуется добавить значение кнопки «Сохранить» для загрузки POST.

person ilvar    schedule 29.03.2012