X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/9dd936c95bb13b4cf8da055a28d57c32fc2861e2..4ad9a93a62ad9629de45e53270442e2be70049b6:/sercom/model.py diff --git a/sercom/model.py b/sercom/model.py index c01b63c..4ddab71 100644 --- a/sercom/model.py +++ b/sercom/model.py @@ -268,6 +268,16 @@ class Alumno(Usuario): #{{{ #}}} class Tarea(InheritableSQLObject, ByObject): #{{{ + class sqlmeta: + createSQL = r''' +CREATE TABLE dependencia ( + padre_id INTEGER NOT NULL CONSTRAINT tarea_id_exists + REFERENCES tarea(id), + hijo_id INTEGER NOT NULL CONSTRAINT tarea_id_exists + REFERENCES tarea(id), + orden INT, + PRIMARY KEY (padre_id, hijo_id) +)''' # Clave nombre = UnicodeCol(length=30, alternateID=True) # Campos @@ -323,6 +333,16 @@ class Tarea(InheritableSQLObject, ByObject): #{{{ #}}} class Enunciado(SQLObject, ByObject): #{{{ + class sqlmeta: + createSQL = r''' +CREATE TABLE enunciado_tarea ( + enunciado_id INTEGER NOT NULL CONSTRAINT enunciado_id_exists + REFERENCES enunciado(id), + tarea_id INTEGER NOT NULL CONSTRAINT tarea_id_exists + REFERENCES tarea(id), + orden INT, + PRIMARY KEY (enunciado_id, tarea_id) +)''' # Clave nombre = UnicodeCol(length=60) anio = IntCol(notNone=True) @@ -447,6 +467,16 @@ class Ejercicio(SQLObject, ByObject): #{{{ #}}} class InstanciaDeEntrega(SQLObject, ByObject): #{{{ + class sqlmeta: + createSQL = r''' +CREATE TABLE instancia_tarea ( + instancia_id INTEGER NOT NULL CONSTRAINT instancia_id_exists + REFERENCES instancia_de_entrega(id), + tarea_id INTEGER NOT NULL CONSTRAINT tarea_id_exists + REFERENCES tarea(id), + orden INT, + PRIMARY KEY (instancia_id, tarea_id) +)''' # Clave ejercicio = ForeignKey('Ejercicio', notNone=True) numero = IntCol(notNone=True)