Merge branch 'master' of https://github.com/collerek/ormar into get_pydantic

This commit is contained in:
collerek
2021-06-02 08:56:29 +02:00
2 changed files with 11 additions and 2 deletions

View File

@ -141,8 +141,10 @@ class FilterAction(QueryAction):
op_attr = FILTER_OPERATORS[self.operator] op_attr = FILTER_OPERATORS[self.operator]
if self.operator == "isnull": if self.operator == "isnull":
op_attr = "is_" if self.filter_value else "isnot" op_attr = "is_" if self.filter_value else "isnot"
self.filter_value = None filter_value = None
clause = getattr(self.column, op_attr)(self.filter_value) else:
filter_value = self.filter_value
clause = getattr(self.column, op_attr)(filter_value)
clause = self._compile_clause( clause = self._compile_clause(
clause, modifiers={"escape": "\\" if self.has_escaped_character else None}, clause, modifiers={"escape": "\\" if self.has_escaped_character else None},
) )

View File

@ -68,6 +68,13 @@ async def test_is_null():
assert tolkien.books[0].year is None assert tolkien.books[0].year is None
assert tolkien.books[0].title == "The Hobbit" assert tolkien.books[0].title == "The Hobbit"
tolkien = await Author.objects.select_related("books").paginate(1, 10).get(
books__year__isnull=True
)
assert len(tolkien.books) == 1
assert tolkien.books[0].year is None
assert tolkien.books[0].title == "The Hobbit"
tolkien = await Author.objects.select_related("books").get( tolkien = await Author.objects.select_related("books").get(
books__year__isnull=False books__year__isnull=False
) )