Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,Django:原始sql查询的替代方案_Python_Sql_Django_Django Queryset - Fatal编程技术网

Python,Django:原始sql查询的替代方案

Python,Django:原始sql查询的替代方案,python,sql,django,django-queryset,Python,Sql,Django,Django Queryset,晚上好, 我想问一下,在myviews.py中,是否有一种不同于原始sql查询的方法来根据特定条件更新项?例如,我知道我可以执行如下插入查询: 型号.py class Person(models.Model): name = models.CharField() age = models.IntegerField() value = models.IntegerField() def something(request): ... qs = Person

晚上好,

我想问一下,在myviews.py中,是否有一种不同于原始sql查询的方法来根据特定条件更新项?例如,我知道我可以执行如下插入查询:

型号.py

class Person(models.Model):
    name = models.CharField()
    age = models.IntegerField()
    value = models.IntegerField()
def something(request):
    ...
    qs = Person(name="John Doe", age=34, value=10)
    qs.save()
    ...
视图.py

class Person(models.Model):
    name = models.CharField()
    age = models.IntegerField()
    value = models.IntegerField()
def something(request):
    ...
    qs = Person(name="John Doe", age=34, value=10)
    qs.save()
    ...
是否有类似的方法来更新所有符合特定条件的“人员”

...
qs = Person("UPDATE Person SET value=5 WHERE age < 30") # or something like this
qs.save()
...
。。。
qs=Person(“更新Person SET value=5,其中年龄<30岁”)#或类似的内容
qs.save()
...
谢谢你们的帮助和建议,祝大家周末愉快

您可以使用更新相应表的记录,并使用指定要更新的项

因此,您可以使用以下选项进行筛选:

Person.objects.filter(age__lt=30).update(value=5)
Person.objects.filter(年龄\uu lt=30)。update(值=5)

在这里,我们使用指定年龄应小于30岁。

Person.objects.filter(age\uu lt=30)。update(value=5)
工作得非常好!非常感谢您提供的链接!