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 [2011/11/21 10:04]
alfred
fw:elixir [2020/05/09 09:25] (actual)
Línea 87: Línea 87:
  
 ===== Elementos del modelo ===== ===== Elementos del modelo =====
 +
 +
 +
  
  
Línea 110: Línea 113:
   * ''​BigInteger''​   * ''​BigInteger''​
   * ''​Boolean''​   * ''​Boolean''​
-  * ''​Date''​+  * ''​Date'',​ se introduciría por ejemplo como: ''​element.date_retrieved = datetime.datetime.date(datetime.datetime.now())''​
   * ''​DateTime''​   * ''​DateTime''​
   * ''​Enum'',​ para hacer enumeraciones:​   * ''​Enum'',​ para hacer enumeraciones:​
Línea 132: Línea 135:
     title = Field(UnicodeText,​ nullable = True)     title = Field(UnicodeText,​ nullable = True)
 </​code>​ </​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>​ 
 +=== Propiedades y métodos de las entidades === 
 +  * 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.
 ==== 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 285: 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 310: 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 326: 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.1321869869.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)