Самый простой способ - использовать метод get
менеджера:
try:
foo = Foo.objects.get(foo_name='David')
except Foo.DoesNotExist:
print 'Nope'
except Foo.MultipleObjectsReturned:
print 'Filter is a better choice here'
Метод exists
также применим, если вам не нужно получать объект:
if Foo.objects.filter(foo_color='green').exists():
print 'Nice'
Если у вас уже есть объект и вы хотите определить, содержится ли он в наборе запросов:
foo = Foo.objects.get(foo_name='David')
qs = Foo.objects.filter(<criteria>)
if foo in qs:
print 'Nice again'
Если вы хотите использовать значение вместо объекта:
value = 'David'
qs = Foo.objects.filter(<criteria>).values_list('foo_name',flat=True)
if value in qs:
print 'Nice'