Commit b8e63cbb by Calen Pennington

Disable lineage traversal when no providers are specified in OverrideFieldData

parent 6bb25982
......@@ -138,6 +138,9 @@ class OverrideFieldData(FieldData):
self.fallback.delete(block, name)
def has(self, block, name):
if not self.providers:
return self.fallback.has(block, name)
has = self.get_override(block, name)
if has is NOTSET:
# If this is an inheritable field and an override is set above,
......@@ -157,7 +160,7 @@ class OverrideFieldData(FieldData):
def default(self, block, name):
# The `default` method is overloaded by the field storage system to
# also handle inheritance.
if not overrides_disabled():
if self.providers and not overrides_disabled():
inheritable = InheritanceMixin.fields.keys()
if name in inheritable:
for ancestor in _lineage(block):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment