2012-05-31 15 views
5

Chciałbym utworzyć pewne zmienne instancji dla mojej podklasy modelu, ale przy zapisywaniu obiektu do bazy danych nie chcę kolumny tabeli dla tej zmiennej. Czytałem w niektórych miejscach, że zrobiłbyś to przez przesłonięcie init(), tak jak stworzysz normalne zmienne instancji w innych klasach. Czy jest to akceptowany sposób na podklasy modelu? Czy są inne podejścia?Zmienne instancji modelu django do tymczasowego użycia

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' 

Odpowiedz

3

To akceptowalny sposób to robić, choć nie trzeba zainicjować go, chyba że istnieje szansa, można spróbować aby uzyskać do niego dostęp, gdy nie istnieje. Zastanów się też, czy powinieneś używać tej właściwości.

Powiązane problemy