@@ -69,17 +69,23 @@ def __str__(self):
6969
7070 @classmethod
7171 def metadata (cls , collection = None ):
72- objs = cls .objects .all () if not collection else cls .objects .filter (collection = collection )
73- for j in objs :
72+ queryset = cls .objects .all ()
73+ if collection :
74+ queryset = queryset .filter (collection = collection )
75+
76+ for journal in queryset .only (
77+ 'acronym' , 'collection__acron3' , 'issns' , 'publisher_name' ,
78+ 'scielo_issn' , 'subject_areas' , 'title' , 'wos_subject_areas'
79+ ):
7480 yield {
75- 'acronym' : j .acronym ,
76- 'collection' : j .collection .acron3 ,
77- 'issns' : j .issns ,
78- 'publisher_name' : j .publisher_name ,
79- 'scielo_issn' : j .scielo_issn ,
80- 'subject_areas' : j .subject_areas ,
81- 'title' : j .title ,
82- 'wos_subject_areas' : j .wos_subject_areas ,
81+ 'acronym' : journal .acronym ,
82+ 'collection' : journal .collection .acron3 ,
83+ 'issns' : set ([ v for v in journal .issns . values () if v ]) ,
84+ 'publisher_name' : journal .publisher_name ,
85+ 'scielo_issn' : journal .scielo_issn ,
86+ 'subject_areas' : journal .subject_areas ,
87+ 'title' : journal .title ,
88+ 'wos_subject_areas' : journal .wos_subject_areas ,
8389 }
8490
8591 class Meta :
0 commit comments