def _raise_if_not_fetched(self) -> None: if not self._fetched: raise NoValuesFetched( "No values were fetched for this relation, first use .fetch_related()" )
def __getitem__(self, item): if not self._fetched: raise NoValuesFetched( 'No values were fetched for this relation, first use .fetch_related()' ) return self.related_objects[item]
def __bool__(self): if not self._fetched: raise NoValuesFetched( 'No values were fetched for this relation, first use .fetch_related()' ) return bool(self.related_objects)
def __len__(self) -> int: if not self._fetched: raise NoValuesFetched( "No values were fetched for this relation, first use .fetch_related()" ) return len(self.related_objects)
def __iter__(self): if not self._fetched: raise NoValuesFetched( "No values were fetched for this relation, first use .fetch_related()" ) return self.related_objects.__iter__()
def __contains__(self, item) -> bool: if not self._fetched: raise NoValuesFetched( "No values were fetched for this relation, first use .fetch_related()" ) return item in self.related_objects