Search code examples
djangodjango-modelsdjango-orm

In Django filter statement what's the difference between __exact and equal sign (=)?


In Django filter statement what's the difference if I write:

.filter(name__exact='Alex')

and

.filter(name='Alex')

Thanks


Solution

  • There is no difference, the second one implies using the __exact.

    From the documentation:

    For example, the following two statements are equivalent:
    >>> Blog.objects.get(id__exact=14)  # Explicit form
    >>> Blog.objects.get(id=14)         
    # __exact is implied This is for convenience, because exact 
    # lookups are the common case.