o a @s2ddlmZeZGdddZGdddZdS))checksc@s<eZdZdZddZefddZddZdd Zd d Z d S) FieldCacheMixinz?Provide an API for working with the model's fields value cache.cCstN)NotImplementedErrorselfr@/usr/lib/python3/dist-packages/django/db/models/fields/mixins.pyget_cache_name szFieldCacheMixin.get_cache_namecCs8|}z|jj|WSty|tur|YSwr)r _state fields_cacheKeyError NOT_PROVIDED)rinstancedefault cache_namerrr get_cached_value s z FieldCacheMixin.get_cached_valuecCs||jjvSr)r r r rrrrr is_cachedszFieldCacheMixin.is_cachedcCs||jj|<dSrr r r )rrvaluerrr set_cached_valuesz FieldCacheMixin.set_cached_valuecCs|jj|=dSrrrrrr delete_cached_valuesz#FieldCacheMixin.delete_cached_valueN) __name__ __module__ __qualname____doc__r rrrrrrrrr rs   rcs(eZdZdZddZfddZZS)CheckFieldDefaultMixin)zzcCsD|r |jdur t|js tjd|jjfd|j|ddgSgS)Nzk%s default should be a callable instead of an instance so that it's not shared between all field instances.z7Use a callable instead, e.g., use `%s` instead of `%s`.z fields.E010)hintobjid) has_defaultrcallablerWarning __class__r _default_hintrrrr _check_default"sz%CheckFieldDefaultMixin._check_defaultc s$tjdi|}|||S)Nr)supercheckextendr&)rkwargserrorsr$rr r(5szCheckFieldDefaultMixin.check)rrrr%r&r( __classcell__rrr,r rsrN) django.corerobjectrrrrrrr s