From ddbaf09125130776654d145246df7b57c7bffd67 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 5 Jun 2025 09:55:05 +0530 Subject: [PATCH] fix: Standard field falsy comparisons in db_query (#32791) Extends the fix to standard fields. https://github.com/frappe/frappe/pull/32377/commits/e0f63a928f891d4733b4af9502be7daa86ffbfc3 --- frappe/model/db_query.py | 2 +- frappe/tests/test_db_query.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index 81a9b982ad..a34dc8e58c 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -885,7 +885,7 @@ from {tables} df and (db_type := cstr(frappe.db.type_map.get(df.fieldtype, " ")[0])) and db_type in ("varchar", "text", "longtext", "smalltext", "json") - ): + ) or f.fieldname in ("owner", "modified_by", "parent", "parentfield", "parenttype"): value = cstr(f.value) fallback = "''" diff --git a/frappe/tests/test_db_query.py b/frappe/tests/test_db_query.py index e4d68e9f80..2f4644d766 100644 --- a/frappe/tests/test_db_query.py +++ b/frappe/tests/test_db_query.py @@ -1202,6 +1202,8 @@ class TestDBQuery(IntegrationTestCase): self.assertNotIn("\\'", query) self.assertNotIn("ifnull", query) self.assertFalse(frappe.get_all("DocField", {"name": None})) + self.assertFalse(frappe.get_all("DocField", {"parent": None})) + self.assertNotIn("0", frappe.get_all("DocField", {"parent": None}, run=0)) def test_ifnull_fallback_types(self): query = frappe.get_all("DocField", {"fieldname": ("!=", None)}, run=0)