Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
fw:elixir [2013/01/15 17:13] alfred [Generar una query] |
fw:elixir [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 134: | Línea 134: | ||
| aid = Field(UnicodeText, index = True) | aid = Field(UnicodeText, index = True) | ||
| title = Field(UnicodeText, nullable = True) | title = Field(UnicodeText, nullable = True) | ||
| + | </code> | ||
| + | * Podemos indicar que un valor por defecto lo coja de una función: | ||
| + | <code python> | ||
| + | class Article(Entity): | ||
| + | last_updated = Field(DateTime, default=datetime.datetime.now) | ||
| </code> | </code> | ||
| === Propiedades y métodos de las entidades === | === Propiedades y métodos de las entidades === | ||
| * Si se crea el campo identificador automáticamente será accesible desde la propiedad ''id''. | * Si se crea el campo identificador automáticamente será accesible desde la propiedad ''id''. | ||
| * El método ''to_dict()'' devuelve el objeto en formato diccionario. | * El método ''to_dict()'' devuelve el objeto en formato diccionario. | ||
| - | |||
| ==== Relaciones ==== | ==== Relaciones ==== | ||
| Para indicar las relaciones entre clases\tablas utilizaremos las funciones ''ManyToOne'' y ''OneToMany'', y ''ManyToMany'' según la cardinalidad: | Para indicar las relaciones entre clases\tablas utilizaremos las funciones ''ManyToOne'' y ''OneToMany'', y ''ManyToMany'' según la cardinalidad: | ||
| Línea 291: | Línea 295: | ||
| ===== Consultas ===== | ===== Consultas ===== | ||
| Aunque las consultas se basan en las de SQLAlchemy y podemos lanzar con ese formato Elixir también nos agiliza dicha tarea. | Aunque las consultas se basan en las de SQLAlchemy y podemos lanzar con ese formato Elixir también nos agiliza dicha tarea. | ||
| - | + | * [[http://docs.sqlalchemy.org/en/rel_0_8/orm/tutorial.html#common-filter-operators|Operadores]], deberemos importar sqlalchemy: ''from sqlalchemy import desc''. | |
| ==== Consultas básicas ==== | ==== Consultas básicas ==== | ||
| * Recoger todos: ''clase.query.all()'' | * Recoger todos: ''clase.query.all()'' | ||
| Línea 335: | Línea 338: | ||
| print result['name'] | print result['name'] | ||
| </code> | </code> | ||
| + | <code python> | ||
| + | conn = metadata.bind.engine.connect() | ||
| + | conn.execute('delete from css_actions') | ||
| + | </code> | ||
| ===== Avanzado ===== | ===== Avanzado ===== | ||
| ==== Sesiones ==== | ==== Sesiones ==== | ||