如何使用Django进行查询?

时间:2019-05-17 08:44:03

标签: sql django django-models

您好,我正在寻找与Django等价的SQL查询:

SELECT * FROM TABLE WHERE CONDITION

SELECT COLUMN_1 FROM TABLE WHERE CONDITION

UPDATE TABLE SET COLUMN_1 = 'values' WHERE condition

我在互联网上看到了不同的事物,所以我想确定这就是为什么我寻求您的帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以像这样在django中过滤查询:

MyModel.objects.filter(description='Hello Wolrd!')

这将返回带有所有MyModel的QuerySet,其描述等于Hello Wolrd!

退货范例:

<QuerySet [<MyModel: MyModel object (1)>,<MyModel: MyModel object (2)>,...]>

您可以看到返回的是带有对象MyModel的Queryset

如果只需要一些字段,可以尝试一下:

MyModel.objects.filter(description='Hello Wolrd!').values('name','id')

这仅返回名称和ID。

退货示例:

<QuerySet [{'name': 'Joao', 'id': 1}, {'name': 'Lucas', 'id': 2}, ...]>

返回的结果就像字典

如果您可以通过模型更新值,则需要这样:

对于一种型号:

m = MyModel.objects.get(id=1)
m.name = 'OlokoMeu'
m.save()

带有过滤器对象

MyModel.objects.filter(description='Hello World!').update(name='Lorem')

有关更多信息: https://docs.djangoproject.com/en/2.2/topics/db/queries/ https://docs.djangoproject.com/pt-br/2.1/ref/models/querysets/#django.db.models.query.QuerySet.update