2012-05-31 9 views
5

के लिए django मॉडल आवृत्ति चर मेरे मॉडल उपclass के लिए कुछ उदाहरण चर बनाना चाहते हैं, लेकिन डेटाबेस को ऑब्जेक्ट को सहेजते समय मैं उस चर के लिए तालिका कॉलम नहीं चाहता हूं। मैंने कुछ स्थानों पर पढ़ा है जो आप init() जैसे ओवरराइड करके ऐसा करेंगे, जैसे कि आप अन्य कक्षाओं में सामान्य इंस्टेंस चर कैसे बनाएंगे। क्या मॉडल के उप-वर्गों के लिए यह स्वीकार्य तरीका है? क्या अन्य दृष्टिकोण हैं?क्षणिक उपयोग

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' 

उत्तर

3

यह कर का एक स्वीकार्य रास्ता है कि, हालांकि आप इसे प्रारंभ करने में जब तक कि वहाँ एक मौका आप की कोशिश कर सकते है की जरूरत नहीं है जब यह अस्तित्व में नहीं है तो इसका उपयोग करने के लिए। साथ ही, विचार करें कि क्या आपको इसके बजाय संपत्ति का उपयोग करना चाहिए।

संबंधित मुद्दे