def entry_list_lookup_related(entry_qs): entry_dict = dict((e.pk, e) for e in entry_qs) model = Entry.content_type_for(RichTextContent) if model: for content in model.objects.filter( parent__in=entry_dict.keys(), ).reverse(): entry_dict[content.parent_id].first_richtext = content model = Entry.content_type_for(MediaFileContent) if model: for content in model.objects.filter( parent__in=entry_dict.keys(), mediafile__type='image', ).reverse().select_related('mediafile'): entry_dict[content.parent_id].first_image = content m2mfield = Entry._meta.get_field('categories') categories = Category.objects.filter( blogentries__in=entry_dict.keys(), ).extra( select={ 'entry_id': '%s.%s' % ( m2mfield.m2m_db_table(), m2mfield.m2m_column_name()), }, ) for category in categories: entry = entry_dict[category.entry_id] if not hasattr(entry, 'fetched_categories'): entry.fetched_categories = [] entry.fetched_categories.append(category)
def lookup(entry_qs): entry_dict = dict((e.pk, e) for e in entry_qs) model = Entry.content_type_for(RichTextContent) if model: for content in model.objects.filter( parent__in=entry_dict.keys(), ).reverse(): entry_dict[content.parent_id].first_richtext = content model = Entry.content_type_for(MediaFileContent) if model: for content in ( model.objects.filter( parent__in=entry_dict.keys(), mediafile__type="image", ) .reverse() .select_related("mediafile") ): entry_dict[content.parent_id].first_image = content m2mfield = Entry._meta.get_field("categories") categories = Category.objects.filter(blogentries__in=entry_dict.keys(),).extra( select={ "entry_id": "%s.%s" % (m2mfield.m2m_db_table(), m2mfield.m2m_column_name()), }, ) for category in categories: entry = entry_dict[category.entry_id] if not hasattr(entry, "fetched_categories"): entry.fetched_categories = [] entry.fetched_categories.append(category)
def lookup(entry_qs): entry_dict = dict((e.pk, e) for e in entry_qs) model = Entry.content_type_for(RichTextContent) if model: for content in model.objects.filter(parent__in=entry_dict.keys()).reverse(): entry_dict[content.parent_id].first_richtext = content model = Entry.content_type_for(MediaFileContent) if model: for content in ( model.objects.filter(parent__in=entry_dict.keys(), mediafile__type="image") .reverse() .select_related("mediafile") ): entry_dict[content.parent_id].first_image = content m2mfield = Entry._meta.get_field("categories") categories = Category.objects.filter(blogentries__in=entry_dict.keys()).extra( select={"entry_id": "%s.%s" % (m2mfield.m2m_db_table(), m2mfield.m2m_column_name())} ) for category in categories: entry = entry_dict[category.entry_id] if not hasattr(entry, "fetched_categories"): entry.fetched_categories = [] entry.fetched_categories.append(category)