在DJANGO中更新db记录而不必使用表单?示例:单击以完成更新记录

时间:2010-11-29 22:40:11

标签: django django-models django-templates django-forms django-views

我在列表中有一个项目。我想点击一下,然后点击触发一个视图。该视图更新了该列表项在db中的状态。

例如,添加到购物车,或保存日期,或已完成。

在每种情况下,单击该链接将以新状态更新db记录。现在这些只是布尔字段。

你可以看到它的发展方向。将使用Ajax调用绑定到该视图的URL。但我正试图通过优雅的退化来做到这一点。我知道如何做Ajax部分,而不是数据库更新部分。

我从来没有做过基本的form.is_valid和form.save。所以我有点失落。

欢迎提示。

由于

1 个答案:

答案 0 :(得分:0)

类似的东西:

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()

使用类似

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

似乎是你在找什么,对吗?

基本上,您可以像想象的那样保存模型的实例。