无需使用表单即可更新 DJANGO 中的数据库记录?示例:单击以完成更新记录

发布于 2024-10-04 16:06:12 字数 314 浏览 3 评论 0原文

我的列表中有一个项目。我想单击某些内容并让该单击触发视图。该视图更新数据库中列表项的状态。

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

在每种情况下,单击该链接都会使用新状态更新数据库记录。现在这些只是布尔字段。

你可以看到这是怎么回事。与该视图相关的 URL 将通过 Ajax 调用。但我正在尝试以优雅的降级来做到这一点。我知道如何执行 Ajax 部分,但不知道如何执行数据库更新部分。

除了基本的 form.is_valid 和 form.save 之外,我从未做过更多的事情。所以我有点失落。

欢迎提出想法。

谢谢

I have an item in a list. I want to click something and have that click trigger a view. That view updates that list item's status in the db.

For example, add to cart, or save the date, or completed.

In each case, clicking that link will update the db record with a new status. Right now these are just boolean fields.

You can see where this is going. A URL tied to that view will be called with Ajax. But I'm trying to do this with graceful degradation. I know how to do the Ajax part, just not the db update part.

I've never done much more than the basic form.is_valid and form.save. So I'm a little lost.

Ideas welcome.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心欲静而疯不止 2024-10-11 16:06:12

像这样的

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)

就是您正在寻找的,对吗?

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

Something like:

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

with a url pattern like

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

seems to be what you're looking for, right?

Basically, you can save instances of your models just like you might think.

, some_view)

seems to be what you're looking for, right?

Basically, you can save instances of your models just like you might think.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文