【问题标题】:AND query and Updating database query in Django?在 Django 中 AND 查询和更新数据库查询?
【发布时间】:2013-01-15 06:03:27
【问题描述】:

我想在 Django 中检索 id=1 和 flag='D' 的数据。我会在 SQL 中将 WHERE 与 AND 一起使用。我怎样才能在 Django 中做到这一点?我试过了:

File.objects.filter(user_id=1 AND flag='D')

但它不起作用。

还有一件事,我可以只更新 Django 中数据库的一个文件,即updating flag='D' to flag='F',一切都一样。

【问题讨论】:

    标签: database django


    【解决方案1】:
    File.objects.filter(user_id=1, flag='D')
    

    这应该会得到所有具有 user_id=1 和 flag='D' 的文件

    要更新列,您应该在查询集上使用更新

    File.objects.filter(user_id=5).update(flag="D")
    

    你也可以这样做

    q = File.objects.filter(user_id=1, flag='D')
    

    打印q.query查看Dj​​ango ORM生成的sql

    【讨论】:

      【解决方案2】:

      如果要过滤多条记录,请使用“过滤器”,因为它返回一个查询集

      File.objects.filter(user_id=1, flag='D')
      

      如果您对单个唯一记录感兴趣,请使用“get”,因为它返回单个对象

      File.objects.get(user_id=1, flat='D')
      

      【讨论】:

        猜你喜欢
        • 2020-05-20
        • 2020-11-20
        • 1970-01-01
        • 2023-03-31
        • 2021-12-22
        • 2018-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多