Как я могу сделать запрос, используя Django? - PullRequest
0 голосов
/ 17 мая 2019

Здравствуйте, я ищу эквивалент SQL-запросов, использующих Django, например:

SELECT * FROM TABLE WHERE CONDITION

SELECT COLUMN_1 FROM TABLE WHERE CONDITION

UPDATE TABLE SET COLUMN_1 = 'values' WHERE condition

Я видел разные вещи в Интернете, поэтому я хотел бы быть уверен, поэтому я прошу вашей помощи.

Спасибо!

1 Ответ

0 голосов
/ 17 мая 2019

Вы можете отфильтровать запросы в Django следующим образом:

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

Возвращает QuerySet со всей MyModel, описание которой равно Hello Wolrd!

Пример возврата:

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

Вы можете видеть, что возвращаемое значение - Queryset с объектами MyModel

Если вам нужны только некоторые поля, попробуйте:

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

Возвращает только имя и идентификатор.

Пример возврата:

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

Это возвращение похоже на dict

Если вы можете обновить значение из модели, вам нужно вот так:

Для одной модели:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...