Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/04/2014, 13:09
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Tratando de entender algunos "overrides" de métodos en Django

Lo que creo confunde de Python son las redundancias (o supuestas en este caso)... tanto metodo(self,...) y en este caso en particular super(clase_padre, self)

@stormearth : lo que estas haciendo es heredar todo... sobreescribir ese metodo get_queryset() y llamar desde dentro al metodo de la clase padre con super(clase_padre, self)

En otros lenguajes seria solo:

Cita:
super.metodo(parametros)
pero en Python 2.x es

Cita:
super(clase_padre, self).metodo()

PREGUNTA:

- ¿ Por qué super(clase_padre, self).metodo() y no super(self).metodo() o self() a secas ?

RESPUESTA:

- Como sea!! en Python 3... se puede usar asi: super() sin mas parametros


OBSERVACION: no pienses a self() como una funcion sino como un "statement" .. como "this" o "self" ...etc en otros lenguajes.... el hecho de que lleve parametros solo es una construccion (creeria yo)

(los parametros los extrae del contexto "self")
__________________
Salu2!

Última edición por Italico76; 22/04/2014 a las 08:12