2017-02-17 2 views
0

В чем заключается необходимость поиска запросов __exact, если мы можем просто извлечь данные с помощью get().Сравнивать __exact и get()

Я имею в виду, какие дополнительные преимущества __exact в запросах ??

+0

Они совершенно разные вещи, получить Извлекает * единственный экземпляр * и '__exact' является частью запроса, он не требует, чтобы он мог применяться только к одному экземпляру – Sayse

ответ

0

.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") 

Я надеюсь, что это помогает!

0

Оба не являются сопоставимыми и имеют различные виды использования

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 
+0

. Является ли этот ответ понятным для вашей концепции? –

Смежные вопросы