def continent_indexing(self): """Continent data (nested) for indexing. Example: >>> mapping = { >>> 'continent': { >>> 'name': 'Asia', >>> 'country': { >>> 'name': 'Netherlands', >>> 'city': { >>> 'name': 'Amsterdam', >>> } >>> } >>> } >>> } :return: """ wrapper = dict_to_obj({ 'name': self.city.country.continent.name, 'country': { 'name': self.city.country.name, 'city': { 'name': self.city.name, } } }) return wrapper
def galaxy_indexing(self): """Galaxy data (nested) for indexing. Example: >>> mapping = { >>> 'galaxy': { >>> 'id': 2, >>> 'name': 'Milky Way', >>> 'planet': { >>> 'id': 3, >>> 'name': 'Earth', >>> } >>> } >>> } :return: """ wrapper = dict_to_obj({ 'id': self.planet.galaxy.id, 'name': self.planet.galaxy.name, 'planet': { 'id': self.planet.id, 'name': self.planet.name, } }) return wrapper
def auth_user_field_indexing(self): wrapper = dict_to_obj({ 'first_name': self.auth_user.first_name, 'last_name': self.auth_user.last_name, 'username': self.auth_user.username, }) return wrapper
def weight_field_indexing(self): wrapper = {} if self.weight: wrapper = dict_to_obj({ 'id': self.weight.pk, 'name': self.weight.name }) return wrapper
def ethnicity_field_indexing(self): wrapper = {} if self.ethnicity: wrapper = dict_to_obj({ 'id': self.ethnicity.pk, 'name': self.ethnicity.name }) return wrapper
def build_field_indexing(self): wrapper = {} if self.build: wrapper = dict_to_obj({ 'id': self.build.pk, 'name': self.build.name }) return wrapper
def feature_field_indexing(self): mark: ProductMark = self.productmark_set.first() feature = {'type': '', 'info': {}} if mark: info = {} if mark.mark_type == 'down': info = {'discount': round(mark.change / self.white_price, 2)} feature = {'type': mark.mark_type, 'info': info} return dict_to_obj(feature)
def tag_field_indexing(self): wrapper = [] if self.users_profile_categories.all(): for x in self.users_profile_categories.all(): wrapper.append( dict_to_obj({ 'id': x.pk, 'name': x.talent_categories.name_en })) return wrapper
def tag_field_indexing(self): wrapper = [] if self.tags.all(): for x in self.tags.all(): wrapper.append( dict_to_obj({ 'id': x.id, 'name': x.category.name_en })) return wrapper
def content_indexing(self): for each in self.post_content.all(): wrapper = dict_to_obj({ 'id': each.id, 'title': each.title, 'text': each.text, # 'photo': each.photo_indexing, # 'video': each.video_indexing, }) return wrapper
def media_field_indexing(self): wrapper = dict_to_obj({ 'has_photo': self.auth_user.auth_user_activity_video.filter( type='IMG').exists(), 'has_video': self.auth_user.auth_user_activity_video.filter( type='VIDEO').exists(), 'has_audio': self.auth_user.auth_user_activity_video.filter( type='AUDIO').exists(), }) return wrapper
def company_indexing(self): """Country data (nested) for indexing. Example: >>> mapping = { >>> 'company': { >>> 'name': 'test company', >>> } >>> } :return: """ wrapper = dict_to_obj({ 'name': self.company.name, }) return wrapper
def period_1_en_indexing(self): return dict_to_obj(self._period_node_indexing('en'))
def period_1_nl_indexing(self): return dict_to_obj(self._period_node_indexing('nl'))
def eye_field_indexing(self): wrapper = {} if self.eye: wrapper = dict_to_obj({'id': self.eye.pk, 'name': self.eye.name}) return wrapper
def hair_field_indexing(self): wrapper = {} if self.hair: wrapper = dict_to_obj({'id': self.hair.pk, 'name': self.hair.name}) return wrapper
def create_field_indexing(self): return dict_to_obj({ 'id': self.user_profile.auth_user.pk, })
def img_field_indexing(self): if self.img_urls and isinstance(self.img_urls, list): return dict_to_obj(self.img_urls[0])