Added things for thje future

This commit is contained in:
Antonio de la Rosa 2018-01-15 06:15:58 +01:00
parent 45cd953f8d
commit 88c972dee8
2 changed files with 29 additions and 10 deletions

View file

@ -249,7 +249,7 @@ class WebModel:
# Init the class # Init the class
def __init__(self, sqlclass, name_field_id="id"): def __init__(self, sqlclass=None, name_field_id="id"):
self.cached=self.global_cached self.cached=self.global_cached
@ -349,6 +349,22 @@ class WebModel:
self.enctype=False self.enctype=False
# A method for add the connection
def conn(self, sqlclass):
self.sqlclass=sqlclass
# Reset conditions
self.yes_reset_conditions=True
self.conditions=["WHERE 1=1", []]
self.order_by="ORDER BY `"+self.name+"`.`id` ASC"
self.limit=""
# A method for change the name of table # A method for change the name of table
def change_name(self, name): def change_name(self, name):
@ -416,6 +432,7 @@ class WebModel:
# Method for clean fields # Method for clean fields
def clean_fields(self): def clean_fields(self):
clean=self.fields_to_clean
for field in self.fields_to_clean: for field in self.fields_to_clean:
del self.fields[field] del self.fields[field]
@ -616,7 +633,9 @@ class WebModel:
# Add extra fields from related table from select_fields ForeignKeyField class member # Add extra fields from related table from select_fields ForeignKeyField class member
for extra_field in self.fields[field].select_fields: select_fields=self.fields[field].select_fields
for extra_field in select_fields:
self.fields[field+'_'+extra_field]=self.fields[field].related_model.fields[extra_field] self.fields[field+'_'+extra_field]=self.fields[field].related_model.fields[extra_field]
self.fields_to_clean.append(field+'_'+extra_field) self.fields_to_clean.append(field+'_'+extra_field)
@ -941,14 +960,14 @@ class WebModel:
#Create id field #Create id field
#Not neccesary #Not neccesary
#table_fields.append('`'+self.name_field_id+"` INT NOT NULL PRIMARY KEY AUTO_INCREMENT") #table_fields.append('`'+self.name_field_id+"` INT NOT NULL PRIMARY KEY AUTO_INCREMENT")
fields=self.fields
for field, data in self.fields.items(): for field, data in fields.items():
table_fields.append('`'+field+'` '+data.get_type_sql()) table_fields.append('`'+field+'` '+data.get_type_sql())
#Check if indexed #Check if indexed
if self.fields[field].indexed==True: if fields[field].indexed==True:
self.arr_sql_index[self.name][field]='CREATE INDEX `index_'+self.name+'_'+field+'` ON '+self.name+'(`'+field+'`);' self.arr_sql_index[self.name][field]='CREATE INDEX `index_'+self.name+'_'+field+'` ON '+self.name+'(`'+field+'`);'
self.arr_sql_set_index[self.name][field]="" self.arr_sql_set_index[self.name][field]=""
@ -956,18 +975,18 @@ class WebModel:
#Check if unique #Check if unique
if self.fields[field].unique==True: if fields[field].unique==True:
self.arr_sql_unique[self.name][field]='ALTER TABLE `'+self.name+'` ADD UNIQUE (`'+field+'`)' self.arr_sql_unique[self.name][field]='ALTER TABLE `'+self.name+'` ADD UNIQUE (`'+field+'`)'
self.arr_sql_set_unique[self.name][field]="" self.arr_sql_set_unique[self.name][field]=""
if type(self.fields[field]).__name__=="ForeignKeyField": if type(fields[field]).__name__=="ForeignKeyField":
self.arr_sql_index[self.name][field]='CREATE INDEX `index_'+self.name+'_'+field+'` ON '+self.name+'(`'+field+'`);' self.arr_sql_index[self.name][field]='CREATE INDEX `index_'+self.name+'_'+field+'` ON '+self.name+'(`'+field+'`);'
table_related=self.fields[field].table_name table_related=fields[field].table_name
id_table_related=self.fields[field].table_id id_table_related=fields[field].table_id
self.arr_sql_set_index[self.name][field]='ALTER TABLE `'+self.name+'` ADD CONSTRAINT `'+field+'_'+self.name+'IDX` FOREIGN KEY ( `'+field+'` ) REFERENCES `'+table_related+'` (`'+id_table_related+'`) ON DELETE CASCADE ON UPDATE CASCADE;' self.arr_sql_set_index[self.name][field]='ALTER TABLE `'+self.name+'` ADD CONSTRAINT `'+field+'_'+self.name+'IDX` FOREIGN KEY ( `'+field+'` ) REFERENCES `'+table_related+'` (`'+id_table_related+'`) ON DELETE CASCADE ON UPDATE CASCADE;'

View file

@ -34,7 +34,7 @@ _num_tries=corefields.IntegerField('num_tries', 1)
class UserAdmin(UserModel): class UserAdmin(UserModel):
#def create_fields(self): #def create_fields(self):
def __init__(self, connection): def __init__(self, connection=None):
super().__init__(connection) super().__init__(connection)