Обновить запись БД в DJANGO без необходимости использовать форму?ПРИМЕР: Нажмите, чтобы завершить ОБНОВЛЕНИЕ записи - PullRequest
0 голосов
/ 30 ноября 2010

У меня есть пункт в списке.Я хочу что-то щелкнуть, и этот щелчок вызывает просмотр.Это представление обновляет статус этого элемента списка в базе данных.

Например, добавить в корзину или сохранить дату, или завершено.

В каждом случае щелчок по этой ссылке будет обновлять запись базы данныхс новым статусом.Прямо сейчас это просто логические поля.

Вы можете видеть, куда это идет.URL, связанный с этим представлением, будет вызываться с помощью Ajax.Но я пытаюсь сделать это с грациозной деградацией.Я знаю, как сделать Ajax-часть, но не часть обновления db.

Я никогда не делал намного больше, чем базовые form.is_valid и form.save.Так что я немного растерялся.

Идеи приветствуются.

Спасибо

1 Ответ

0 голосов
/ 30 ноября 2010

Что-то вроде:

def some_view(request, *args, **kwargs):
    my_obj = MyModel.object.filter(pk=kwargs['id'])
    if my_obj:
        my_obj = my_obj[0]
        my_obj.fancy_status = "someone wants to buy me!"
        my_obj.save()
    return some_appropriate_response()

с шаблоном URL, таким как

(r'^/my_objects/(?P<id>\d{1,9})/buy/$', some_view)

кажется, что вы ищете, верно?

По сути, вы можете сохранять экземпляры ваших моделей точно так же, как вы думаете.

...