2010-01-05 7 views
17

Noté que en los modelos de Django, hay un class Meta que hace algunas definiciones adicionales sobre el modelo.¿Por qué el Meta de Django es una clase de estilo antiguo?

Mi pregunta es, ¿por qué se hace esto como una clase de estilo antiguo? (es decir, no subclases object?) ¿Hay alguna razón para esto o es solo una costumbre? ¿Podría hacerlo como una clase de nuevo estilo en mis proyectos?

Respuesta

15

Creo que no existe una razón real (incluida la historia, ya que existen clases de estilo nuevo desde Python 2.2) y que no solo puede elegir utilizar una clase de estilo nuevo, sino que probablemente sea una buena idea para que lo haga (por todos los motivos habituales).

8

Dado que la clase Meta nunca es otra cosa que un simple contenedor de espacio de nombres, no hay ninguna ventaja al crear subclases de objetos; solo ocho caracteres adicionales para escribir. Sin embargo, no hará ningún daño hacer eso si te apetece.

Cuestiones relacionadas