o Ɏ_@sFddlmZddlmZddlmZddlmZGdddejZ dS))settings)checks)FieldDoesNotExist)modelscsNeZdZdZdZdfdd ZfddZdd Zd d Zfd d Z Z S)CurrentSiteManagerzDUse this to limit objects to those associated with the current site.TNcst||_dSN)super__init___CurrentSiteManager__field_name)self field_name __class__?/usr/lib/python3/dist-packages/django/contrib/sites/managers.pyr s  zCurrentSiteManager.__init__c s$tjdi|}|||S)Nr)rcheckextend_check_field_name)r kwargserrorsr rrrszCurrentSiteManager.checkcCsz|}z |jj|}Wnty!tjd||ddgYSw|js;t|t j s;tjd|jjj |f|ddgSgS)Nz5CurrentSiteManager could not find a field named '%s'.z sites.E001)objidzYCurrentSiteManager cannot use '%s.%s' as it is not a foreign key or a many-to-many field.z sites.E002) _get_field_namemodel_meta get_fieldrrError many_to_many isinstancer ForeignKey object_name)r r fieldrrrrs*    z$CurrentSiteManager._check_field_namecCsB|jsz |jjdWntyd|_Y|jSwd|_|jS)z0 Return self.__field_name or 'site' or 'sites'. sitesites)r rrrrr rrrr/s z"CurrentSiteManager._get_field_namecs$tjdi|dtjiS)N__idr)r get_querysetfilterrrSITE_IDr$r rrr&;s$zCurrentSiteManager.get_querysetr) __name__ __module__ __qualname____doc__use_in_migrationsr rrrr& __classcell__rrr rrs  rN) django.confr django.corerdjango.core.exceptionsr django.dbrManagerrrrrrs