मेरे पास कुछ मॉडल हैं जिनमें सभी की कुछ सामान्य कार्यक्षमता है। प्रत्येक मॉडल एक भौतिक रूप से स्टॉक प्रकार का आइटम है, इसलिए वे stock
जैसी चीजें साझा करते हैं और कम स्टॉक चेतावनी ईवेंट (ईमेल भेजता है) जैसी चीजें साझा करते हैं।Django: बच्चे मॉडल में लेबल लेबल या help_text ओवरराइड करें
कोड को डुप्लिकेट करने के बजाय, मैंने एक अमूर्त मॉडल लिखा और उससे प्राप्त किया।
class LowStockModel(models.Model):
stock = stock = models.IntegerField()
out_of_stock_behaviour = models.CharField(max_length=20, choices=[...])
class Meta:
abstract = True
def save(self, *args, **kwargs):
super(self.__class__, self).save(*args, **kwargs)
if self.stock <= 0:
#...
मेरे समस्या मैं लेबल बदलने के लिए या बच्चे कक्षाओं मैं उत्पन्न करने वाला हूँ में विभिन्न help_text
को stock
क्षेत्र को जोड़ने की आवश्यकता है। यह बहुत महत्वपूर्ण है क्योंकि ग्राहक (और उनके कर्मचारियों) को इकाइयों पर निर्देशों की आवश्यकता होती है। मैंने बच्चे __init__
में चारों ओर मुंगिंग करने की कोशिश की है लेकिन मुझे कहीं भी नहीं मिल रहा है।
टीएल; डॉ आप बच्चे के मॉडल से किसी क्षेत्र पर लेबल कैसे बदल सकते हैं?
ऐसा न करें: 'सुपर (स्वयं .__ वर्ग__, स्वयं)' आप आसानी से अनंत रिकर्सन प्राप्त कर सकते हैं। – DrTyrsa
यह सुंदर नहीं होगा, लेकिन: http://stackoverflow.com/a/928774/16361 – AdamKG
धन्यवाद @AdamKG यह सही है। – Oli