Ho alcuni modelli che hanno tutti alcune funzionalità comuni. Ogni modello è un tipo di articolo fisicamente fornito in modo che condividano cose come stock
e condividano anche alcune cose come eventi di avviso di scorte basse (invia una e-mail).Django: etichetta campo Override o testo help_text nel bambino Modello
Piuttosto che duplicare il codice, ho scritto un modello astratto e ne ho ereditato.
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:
#...
Il mio problema è che ho bisogno di modificare l'etichetta o aggiungere diversi help_text
al campo stock
nelle classi figlio che sto deposizione delle uova. È molto importante perché il cliente (e il suo staff) ha bisogno di istruzioni sulle unità. Ho provato a munging nel bambino __init__
ma non riesco ad arrivare da nessuna parte.
tl; dr Come è possibile modificare l'etichetta su un campo da un modello figlio?
Non eseguire questa operazione: 'super (self .__ class__, self)' È possibile ottenere facilmente la ricorsione infinita. – DrTyrsa
Non sarà carino, ma: http://stackoverflow.com/a/928774/16361 – AdamKG
Grazie a @AdamKG è perfetto. – Oli