Herramientas de usuario

Herramientas del sitio


fw:elixir

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
fw:elixir [2012/11/01 11:26]
127.0.0.1 editor externo
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 316: Línea 319:
 q.order_by(desc(Movie.year)).all() q.order_by(desc(Movie.year)).all()
 </​code>​ </​code>​
 +==== Realizar un join ==== 
 +<code python>​ 
 +PlayerAchievements.query.filter(PlayerAchievements.player == p).filter(PlayerAchievements.teamconfig == t).all() 
 +</​code>​
 ==== Otros ==== ==== Otros ====
 === Consultar por identificador === === Consultar por identificador ===
Línea 332: 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 ====
fw/elixir.1351769190.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)