--- a/src/jocondelab/views/front_office.py Tue Oct 29 12:41:20 2013 +0100
+++ b/src/jocondelab/views/front_office.py Tue Oct 29 13:55:08 2013 +0100
@@ -31,12 +31,13 @@
}
th = termsbythesaurus.setdefault(term["thesaurus"], { "translated": [], "untranslated": [] })
th["untranslated"].append(term)
- for nt in Term.objects.filter(noticeterm__notice=notice, dbpedia_fields__language_code=lang).select_related('thesaurus__label,dbpedia_fields').order_by('dbpedia_fields__label').distinct():
+ # We use "values" because it avoids an other db request for dbpedia_fields.get(language_code = lang).label
+ for nt in Term.objects.select_related('thesaurus__label,dbpedia_fields').filter(noticeterm__notice=notice, dbpedia_fields__language_code=lang).order_by('dbpedia_fields__label').distinct().values("thesaurus__label", "dbpedia_uri", "dbpedia_fields__label"):
term = {
- "thesaurus": nt.thesaurus.label,
- "dbpedia_uri": nt.dbpedia_uri,
+ "thesaurus": nt["thesaurus__label"],
+ "dbpedia_uri": nt["dbpedia_uri"],
"translated": True,
- "label": nt.dbpedia_fields.get(language_code = lang).label
+ "label": nt["dbpedia_fields__label"]
}
th = termsbythesaurus.setdefault(term["thesaurus"], { "translated": [], "untranslated": [] })
th["translated"].append(term)
@@ -128,7 +129,9 @@
notices = []
for n in ns:
+ logger.debug("COUCOU 0")
termsbythesaurus = get_terms_by_thesaurus(n, lang)
+ logger.debug("COUCOU 1")
noticedict = {
"id": n.id,
"title": n.titr,
@@ -138,6 +141,7 @@
"terms_by_thesaurus": termsbythesaurus,
"datation": termsbythesaurus.get("PERI",{}).get("translated",[]) + termsbythesaurus.get("EPOQ",{}).get("translated",[])
}
+ logger.debug("COUCOU 2")
noticedict['image_title'] = noticedict['title'] if noticedict['title'] else noticedict['designation']
if show_years and n.years.exists():
noticedict["years"] = [n.years.all()[0].start_year, n.years.all()[0].end_year]