From 50c030de53cea0dd4c4255cb8aa1fb5ad654658b Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Tue, 22 May 2018 20:40:02 +0200 Subject: [PATCH] FIxes in models --- paramecio/cherry.py | 2 -- paramecio/cromosoma/corefields.py | 4 +++- paramecio/cromosoma/extrafields/arrayfield.py | 4 +++- paramecio/cromosoma/extrafields/dictfield.py | 4 +++- paramecio/cromosoma/extrafields/i18nfield.py | 3 +++ paramecio/cromosoma/webmodel.py | 19 +++++++++++++++++-- 6 files changed, 29 insertions(+), 7 deletions(-) diff --git a/paramecio/cherry.py b/paramecio/cherry.py index a7b43c9..83ff186 100644 --- a/paramecio/cherry.py +++ b/paramecio/cherry.py @@ -29,8 +29,6 @@ def run_cherrypy_server(): # Instantiate a new server object server = cherrypy._cpserver.Server() - server.thread_pool=30 - # Configure the server object server.socket_host=config.host server.socket_port=config.port diff --git a/paramecio/cromosoma/corefields.py b/paramecio/cromosoma/corefields.py index 8ffdb59..da192c5 100644 --- a/paramecio/cromosoma/corefields.py +++ b/paramecio/cromosoma/corefields.py @@ -135,13 +135,15 @@ class TextField(PhangoField): def __init__(self, name, required=False): super().__init__(name, 11, required) + self.set_default='NOT NULL' + def get_type_sql(self): """Method for return the sql code for this type """ - return 'TEXT NOT NULL' + return 'TEXT '+self.set_default class HTMLField(TextField): diff --git a/paramecio/cromosoma/extrafields/arrayfield.py b/paramecio/cromosoma/extrafields/arrayfield.py index 4a31145..93d26b6 100644 --- a/paramecio/cromosoma/extrafields/arrayfield.py +++ b/paramecio/cromosoma/extrafields/arrayfield.py @@ -10,6 +10,8 @@ class ArrayField(PhangoField): self.field_type=field_type self.error_default='Sorry, the json array is invalid' + + self.set_default='NOT NULL' def check(self, value): @@ -41,7 +43,7 @@ class ArrayField(PhangoField): def get_type_sql(self): - return 'TEXT NOT NULL' + return 'TEXT '+self.set_default def show_formatted(self, value): diff --git a/paramecio/cromosoma/extrafields/dictfield.py b/paramecio/cromosoma/extrafields/dictfield.py index a7cc462..f68863a 100644 --- a/paramecio/cromosoma/extrafields/dictfield.py +++ b/paramecio/cromosoma/extrafields/dictfield.py @@ -10,6 +10,8 @@ class DictField(PhangoField): self.field_type=field_type self.error_default='Sorry, the json dict is invalid' + + self.set_default='NOT NULL' def check(self, value): @@ -40,7 +42,7 @@ class DictField(PhangoField): def get_type_sql(self): - return 'TEXT NOT NULL' + return 'TEXT '+self.set_default def show_formatted(self, value): diff --git a/paramecio/cromosoma/extrafields/i18nfield.py b/paramecio/cromosoma/extrafields/i18nfield.py index 455b4db..e7b555b 100644 --- a/paramecio/cromosoma/extrafields/i18nfield.py +++ b/paramecio/cromosoma/extrafields/i18nfield.py @@ -77,6 +77,9 @@ class I18nField(PhangoField): def show_formatted(self, value): + if value=='': + value='{"en-US": "", "es-ES": ""}' + value=json.loads(value) lang=I18n.get_default_lang() diff --git a/paramecio/cromosoma/webmodel.py b/paramecio/cromosoma/webmodel.py index 5c703ce..5d851eb 100644 --- a/paramecio/cromosoma/webmodel.py +++ b/paramecio/cromosoma/webmodel.py @@ -256,9 +256,9 @@ class WebModel: def __init__(self, sqlclass=None, name_field_id="id"): - self.cached=self.global_cached + self.cached=WebModel.global_cached - self.cached_runquery=self.global_cached + self.cached_runquery=WebModel.global_cached self.type_cache='file' @@ -1334,3 +1334,18 @@ class WebModel: return post +class QueryModel(WebModel): + + def __init__(self, model_name, sqlclass=None, name_field_id="id"): + + super().__init__(sqlclass, name_field_id) + + self.name=model_name.lower() + + self.label=self.name + + self.label_general=self.name + + self.order_by="ORDER BY `"+self.name+"`.`id` ASC" + +