Sfoglia il codice sorgente

Merge pull request #16361 from alyf-de/fix-exists-pop

fix: copy dict before popping keys
version-14
mergify[bot] 3 anni fa
committed by GitHub
parent
commit
a4f0344aaf
Non sono state trovate chiavi note per questa firma nel database ID Chiave GPG: 4AEE18F83AFDEB23
2 ha cambiato i file con 9 aggiunte e 3 eliminazioni
  1. +2
    -2
      frappe/database/database.py
  2. +7
    -1
      frappe/tests/test_db.py

+ 2
- 2
frappe/database/database.py Vedi File

@@ -919,8 +919,8 @@ class Database(object):
return dn

if isinstance(dt, dict):
_dt = dt.pop("doctype")
dt, dn = _dt, dt
dt = dt.copy() # don't modify the original dict
dt, dn = dt.pop("doctype"), dt

return self.get_value(dt, dn, ignore=True, cache=cache)



+ 7
- 1
frappe/tests/test_db.py Vedi File

@@ -327,7 +327,13 @@ class TestDB(unittest.TestCase):
self.assertEqual(frappe.db.exists(dt, dn, cache=True), dn)
self.assertEqual(frappe.db.exists(dt, dn), dn)
self.assertEqual(frappe.db.exists(dt, {"name": ("=", dn)}), dn)
self.assertEqual(frappe.db.exists({"doctype": dt, "name": ("like", "Admin%")}), dn)

filters = {"doctype": dt, "name": ("like", "Admin%")}
self.assertEqual(frappe.db.exists(filters), dn)
self.assertEqual(
filters["doctype"], dt
) # make sure that doctype was not removed from filters

self.assertEqual(frappe.db.exists(dt, [["name", "=", dn]]), dn)




Caricamento…
Annulla
Salva