check for recursion in references

This commit is contained in:
evilchili 2025-10-30 20:06:32 -07:00
parent 5c617e7c5c
commit b7d7ef9638

View File

@ -75,6 +75,8 @@ class RecordTable(table.Table):
for field in document._metadata.fields.values(): for field in document._metadata.fields.values():
if isinstance(field.default, Iterable) and ref in document[field.name]: if isinstance(field.default, Iterable) and ref in document[field.name]:
raise CircularReferenceError(ref, field) raise CircularReferenceError(ref, field)
elif document[field.name] == ref:
raise CircularReferenceError(ref, field)
def _check_unique(self, document) -> bool: def _check_unique(self, document) -> bool:
matches = [] matches = []