def queryset_apply_baseno(self, baseno): if(self.is_sharded_baseno()): baseno = toint(baseno, None) if baseno : self.kwargs['baseno'] = baseno self.queryset = self.queryset.filter(baseno = baseno) else: raise Http404 return self.queryset
def queryset_apply_baseno(self, baseno): if self.is_sharded_baseno(): baseno = toint(baseno, None) if baseno: self.kwargs["baseno"] = baseno self.queryset = self.queryset.filter(baseno=baseno) else: raise Http404 return self.queryset
def queryset_handle_baseno(self, request, *args, **kwargs): """ Берет параметр `номера шарда` из параметров HTTP запроса (baseno). И добавляет его к параметрам запроса к БД. """ pkstr = self.kwargs.get(self.pk_url_kwarg, None) if not pkstr or not hasattr(pkstr, "split"): return self.queryset_handle_baseno_plain(request, *args, **kwargs) if self.is_sharded_baseno(): pklist = pkstr.split("-") if len(pklist) > 1: baseno = toint(pklist[0], None) if not baseno: raise Http404 self.kwargs["baseno"] = baseno self.kwargs[self.pk_url_kwarg] = pklist[1] return self.queryset_apply_baseno(baseno) return self.queryset_handle_baseno_plain(request, *args, **kwargs)
def queryset_handle_baseno(self, request, *args, **kwargs): ''' Берет параметр `номера шарда` из параметров HTTP запроса (baseno). И добавляет его к параметрам запроса к БД. ''' pkstr = self.kwargs.get(self.pk_url_kwarg, None) if(not pkstr or not hasattr(pkstr, 'split')): return self.queryset_handle_baseno_plain(request, *args, **kwargs) if(self.is_sharded_baseno()): pklist = pkstr.split("-") if(len(pklist) > 1): baseno = toint(pklist[0], None) if not baseno: raise Http404 self.kwargs["baseno"] = baseno; self.kwargs[self.pk_url_kwarg] = pklist[1] return self.queryset_apply_baseno(baseno) return self.queryset_handle_baseno_plain(request, *args, **kwargs)
def get_default_from_db(cls, self, connection, dbname): ''' Возвращает значение поля по-умолчанию из базы данных. Обращения к описанием полей кешируются по числу обращений. Количество обращений задается константой DEFAULT_FIELDS_TIMEOUT_TIMES ''' default = None data_type = None if (not (self.null)): default = 0 ## Если значение по умолчанию не определено, ## то запрашиваем его в базе данных. db_descr = cls.get_db_descr(self, connection, dbname) if (None != db_descr): default = db_descr.get('column_default') data_type = db_descr.get('data_type') #if("bannerpriority" == self.name): #print #print "default = ", default, data_type #print if (self.null and None == default): default = None else: if ('int' == data_type): default = toint(default, 0) elif ('smallint' == data_type): default = toint(default, 0) elif ('tinyint' == data_type): default = toint(default, 0) elif ('bigint' == data_type): default = toint(default, 0) elif ('float' == data_type): default = tofloat(default, 0.0) elif ('double' == data_type): default = tofloat(default, 0.0) elif ('decimal' == data_type): default = tofloat(default, 0.0) elif ('timestamp' == data_type): try: default = datetime.datetime.strptime( default, "%Y-%m-%d %H:%M:%S") except: if (self.null): default = None else: default = 0 else: pass #logging.warn(u'unknown data_type %s'%(data_type)) if ("reservedtime" == self.name): print print "default 2 = ", default, data_type print if (self.default == GET_DEFAULT_FROM_DB): self.default = default self.value = default return default
def get_qbaseno(self, request, *args, **kwargs): baseno = request.QUERY_PARAMS.get("baseno", None) baseno = toint(baseno, None) return baseno
def get_qbaseno(self, request, *args, **kwargs): baseno = request.QUERY_PARAMS.get('baseno', None) baseno = toint(baseno, None) return baseno
def get_default_from_db(cls, self, connection, dbname): ''' Возвращает значение поля по-умолчанию из базы данных. Обращения к описанием полей кешируются по числу обращений. Количество обращений задается константой DEFAULT_FIELDS_TIMEOUT_TIMES ''' default = None data_type = None if (not (self.null)): default = 0 ## Если значение по умолчанию не определено, ## то запрашиваем его в базе данных. db_descr = cls.get_db_descr(self, connection, dbname) if(None != db_descr): default = db_descr.get('column_default') data_type = db_descr.get('data_type') #if("bannerpriority" == self.name): #print #print "default = ", default, data_type #print if (self.null and None == default ): default = None; else: if('int' == data_type): default = toint(default, 0) elif('smallint' == data_type): default = toint(default, 0) elif('tinyint' == data_type): default = toint(default, 0) elif('bigint' == data_type): default = toint(default, 0) elif('float' == data_type): default = tofloat(default, 0.0) elif('double' == data_type): default = tofloat(default, 0.0) elif('decimal' == data_type): default = tofloat(default, 0.0) elif('timestamp' == data_type): try: default = datetime.datetime.strptime( default, "%Y-%m-%d %H:%M:%S" ) except: if (self.null): default = None else: default = 0 else: pass #logging.warn(u'unknown data_type %s'%(data_type)) if("reservedtime" == self.name): print print "default 2 = ", default, data_type print if(self.default == GET_DEFAULT_FROM_DB): self.default = default self.value = default return default