moo.core.models.object.AncestorCache

class moo.core.models.object.AncestorCache(*args, **kwargs)

Denormalized flat table of ancestor relationships for fast indexed JOINs. Replaces recursive CTE usage in hot-path verb and property lookups. Maintained by the relationship_changed() signal on parents.add/remove.

__init__(*args, **kwargs)

Methods

__init__(*args, **kwargs)

adelete([using, keep_parents])

arefresh_from_db([using, fields])

asave([force_insert, force_update, using, ...])

check(**kwargs)

clean()

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields.

clean_fields([exclude])

Clean all fields and raise a ValidationError containing a dict of all validation errors if any occur.

date_error_message(lookup_type, field_name, ...)

delete([using, keep_parents])

from_db(db, field_names, values)

full_clean([exclude, validate_unique, ...])

Call clean_fields(), clean(), validate_unique(), and validate_constraints() on the model.

get_constraints()

get_deferred_fields()

Return a set containing names of deferred fields for this instance.

prepare_database_save(field)

refresh_from_db([using, fields])

Reload field values from the database.

save([force_insert, force_update, using, ...])

Save the current instance.

save_base([raw, force_insert, force_update, ...])

Handle the parts of saving which should be done only once per save, yet need to be done in raw saves, too.

serializable_value(field_name)

Return the value of the field name for this instance.

unique_error_message(model_class, unique_check)

validate_constraints([exclude])

validate_unique([exclude])

Check unique constraints on the model and raise ValidationError if any failed.

Attributes

ancestor

The ancestor Object reachable from descendant.

ancestor_id

depth

Number of hops from descendant to ancestor.

descendant

The descendant Object — the row says "this object inherits from ancestor at depth hops".

descendant_id

id

A wrapper for a deferred-loading field.

objects

path_weight

Relationship.weight of the depth-1 link leading to this ancestor.

pk