2012-05-31 17 views
5

Me gustaría crear algunas variables de instancia para mi subclase de modelo, pero al guardar el objeto en la base de datos no quiero una columna de tabla para esa variable. Leí en algunos lugares que harías esto al anular init() cómo crearías variables de instancia normales en otras clases. ¿Es esta la forma aceptada para las subclases del modelo? ¿Hay otros enfoques?Variables de instancia de modelo django para uso transitorio

models.py:

class MyModel (models.Model): 
    name = models.CharField(max_length=300) 

    def __init__(self, *args, **kwargs): 
     super(MyModel, self).__init__(*args, **kwargs) 
     self.tempvar = '' 

views.py:

myModel = MyModel() 
myModel.tempvar = 'this will not be saved in the database' 

Respuesta

3

Esa es una forma aceptable de hacerlo, a pesar de que no es necesario para inicializar a menos que hay una posibilidad de que pueda tratar para acceder a ella cuando no existe Además, considere si debe usar una propiedad en su lugar.

Cuestiones relacionadas