Ver Mensaje Individual
  #12 (permalink)  
Antiguo 07/06/2010, 14:16
Alex_10
 
Fecha de Ingreso: junio-2009
Mensajes: 10
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Escoger datos de las clases modelos

Disculpame si formo desorden aqui pero es que no se a lo mejor la solucion esta aqui, esta clase que pongo tambien es para los reportes en Excel y es donde viene el metodo AddQuerySet(). No se si esta informacion es util, a lo mejor si.

Código Python:
Ver original
  1. class BaseReport(BaseDump):
  2.     """
  3.        Abstract BaseReport Class used by various reports
  4.        
  5.    """
  6.    
  7.     def __init__(self):
  8.         super(BaseReport, self).__init__()
  9.         self.grids = {}
  10.         self.current_sheet = None
  11.         self.current_x = self.current_y = 0
  12.         self.report_style = ReportStyle()
  13.         self.sheetcount = 0
  14.         self.formatter = {}
  15.    
  16.     def add_one_instance(self,inst,orientation,addheader=False):
  17.         """
  18.        Deprecated. Votovox is using this.
  19.        """
  20.         self.addQuerySet(inst,orientation,addheader)
  21.            
  22.     def addQuerySet(self,inst,orientation,addheader=False):
  23.         self.grids[self.current_sheet] = Grid()
  24.         self.current_x = self.current_y = 0
  25.         self.report_style.set_orientation(orientation)
  26.         headersadded = False
  27.         for i in inst:
  28.             if addheader and not headersadded:
  29.                 self.django_dump_obj(i,headers=True)
  30.                 headersadded = True
  31.             self.django_dump_obj(i)
  32.  
  33.     @accepts(object,object)
  34.     def addFormatter(self,formatter):
  35.         self.formatter[self.current_sheet] = formatter
  36.    
  37.     def getFormatter(self):
  38.         return self.formatter
  39.        
  40.  
  41.     formatters = {}
  42.  
  43.     def __get_format(self,key):
  44.         if self.formatters.has_key(key):
  45.             return self.formatters[key]
  46.         elif self.formatters.has_key("DEFAULT"):
  47.             return self.formatters["DEFAULT"]
  48.         return u''
  49.    
  50.     @accepts(object,Item)
  51.     def get_format(self,item):
  52.         format = self.__get_format(item.get_type())
  53.         if callable(format):
  54.             return format(item)
  55.         return format
  56.  
  57.     def addSheet(self,name=None):
  58.         self.sheetcount += 1
  59.         if name == None:
  60.             name = "Untitled Sheet #%s" % self.sheetcount
  61.         self.current_sheet = name
  62.         self.filters[self.current_sheet] = {}
  63.         self.formatter[self.current_sheet] = {}