В чем заключается необходимость поиска запросов __exact, если мы можем просто извлечь данные с помощью get().Сравнивать __exact и get()
Я имею в виду, какие дополнительные преимущества __exact в запросах ??
В чем заключается необходимость поиска запросов __exact, если мы можем просто извлечь данные с помощью get().Сравнивать __exact и get()
Я имею в виду, какие дополнительные преимущества __exact в запросах ??
.get() используется для получения одного экземпляра. Мы используем get, когда уверены, что объекты возвращаются набором запросов. Если несколько экземпляров присутствуют он будет бросать вам ошибку на консоли:
get() returned more than one person -- it returned 2!
Типичным прибудет запрос для модели Person будет:
Person.objects.get(id=1)
Однако __exact
используется с QuerySet в виде проверка параметров. Например: , если у нас есть модель Person
, и вы хотите найти все объекты человека, имена которых точно = «Luv33preet».
QuerySet для этого было бы:
Person.objects.filter(name__exact="Luv33preet")
Я надеюсь, что это помогает!
Оба не являются сопоставимыми и имеют различные виды использования
models.py -
class Model1.py():
name= models.CharField(max_length=1000,null=True)
views.py (запрос) -
Model1.objects.get(name='RakeshRao') #retrieve single object
Model1.objects.get(name__exact='RakeshRao') #part of query same as 'LIKE' in SQL
. Является ли этот ответ понятным для вашей концепции? –
Они совершенно разные вещи, получить Извлекает * единственный экземпляр * и '__exact' является частью запроса, он не требует, чтобы он мог применяться только к одному экземпляру – Sayse