From c249e75fe4759b8e88344a3e4583df6cd8da31fa Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 23 May 2025 10:02:14 +0530 Subject: [PATCH] fix(db_query): allow filtering `name: None` (#32644) This doesn't make any sense, but ig it might get introduced via indirect calls, so better to handle this in code explicitly. closes https://github.com/frappe/frappe/issues/32643 --- frappe/model/db_query.py | 2 +- frappe/tests/test_db_query.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index 5f65ce50e4..81a9b982ad 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -878,7 +878,7 @@ from {tables} fallback = "''" elif f.fieldname == "name": - value = f.value + value = f.value if f.value is not None else "" fallback = "''" elif ( diff --git a/frappe/tests/test_db_query.py b/frappe/tests/test_db_query.py index 7b43201407..e4d68e9f80 100644 --- a/frappe/tests/test_db_query.py +++ b/frappe/tests/test_db_query.py @@ -1201,6 +1201,7 @@ class TestDBQuery(IntegrationTestCase): self.assertIn("''", query) self.assertNotIn("\\'", query) self.assertNotIn("ifnull", query) + self.assertFalse(frappe.get_all("DocField", {"name": None})) def test_ifnull_fallback_types(self): query = frappe.get_all("DocField", {"fieldname": ("!=", None)}, run=0)