在Django中查询和更新数据库查询?

时间:2013-01-15 06:03:28

标签: database django

我想在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',但所有内容都相同。

2 个答案:

答案 0 :(得分:0)

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

这应该可以让你拥有user_id = 1和flag ='D'

的所有文件

对于更新列,您应该使用queryset上的更新

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

您也可以

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

打印q.query以查看Django ORM生成的sql

答案 1 :(得分:0)

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

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

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

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