Merge pull request #27553 from gavindsouza/rm-virtual-df-from-get_valid_columns
fix!: Skip virtual fields in meta.get_valid_columns
This commit is contained in:
commit
1af796492c
2 changed files with 17 additions and 2 deletions
|
|
@ -364,7 +364,7 @@ class BaseDocument:
|
|||
d = _dict()
|
||||
field_values = self.__dict__
|
||||
|
||||
for fieldname in self.meta.get_valid_columns():
|
||||
for fieldname in self.meta.get_valid_fields():
|
||||
value = field_values.get(fieldname)
|
||||
|
||||
# if no need for sanitization and value is None, continue
|
||||
|
|
|
|||
|
|
@ -221,13 +221,28 @@ class Meta(Document):
|
|||
self._valid_columns = get_table_columns(self.name)
|
||||
else:
|
||||
self._valid_columns = self.default_fields + [
|
||||
df.fieldname for df in self.get("fields") if df.fieldtype in data_fieldtypes
|
||||
df.fieldname
|
||||
for df in self.get("fields")
|
||||
if not df.get("is_virtual") and df.fieldtype in data_fieldtypes
|
||||
]
|
||||
if self.istable:
|
||||
self._valid_columns += list(child_table_fields)
|
||||
|
||||
return self._valid_columns
|
||||
|
||||
def get_valid_fields(self) -> list[str]:
|
||||
if not hasattr(self, "_valid_fields"):
|
||||
if frappe.flags.in_install and self.name in self.special_doctypes:
|
||||
self._valid_fields = get_table_columns(self.name)
|
||||
else:
|
||||
self._valid_fields = self.default_fields + [
|
||||
df.fieldname for df in self.get("fields") if df.fieldtype in data_fieldtypes
|
||||
]
|
||||
if self.istable:
|
||||
self._valid_fields += list(child_table_fields)
|
||||
|
||||
return self._valid_fields
|
||||
|
||||
def get_table_field_doctype(self, fieldname):
|
||||
return TABLE_DOCTYPES_FOR_DOCTYPE.get(fieldname)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue