Cosa fa questo codice (__init__, super())?

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

fabio_1

Utente Attivo
Messaggi
244
Reazioni
8
Punteggio
43
Ho delle righe di codice che non so cosa facciano esattamente (trovate in un libro). Potrei anche contestualizzarle ma temo la cosa diventi più complicata. In caso vediamo, chiedete pure.

Python:
class MultilingualCharField(models.CharField):

    def __init__(self, verbose_name=None, **kwargs):
        self._blank = kwargs.get('blank', False)
        self._editable = kwargs.get('editable', True)
        # super(MultilingualCharField, self).__init__(verbose_name, **kwargs)
        super().__init__(verbose_name, **kwargs)

In pratica trattasi di un field per Django che scrive su database un campo per ogni lingua che uso. Cioè nel modello definisco solo un MultilingualCharField mentre nel database mi ritrovo due/tre o quelli che sono field, uno per ogni lingua. Questo __init__ però non capisco cosa sia, a cosa serva e sopratutto quale delle due versioni di super() dovrei usare (una è commentata #, commented out, non so come si dica in italiano). Apparentemente funzionano entrambe e non vedo differenze ma non so neanche dove guardare per cercarle.

Uso python 3.7 e django 2.2.

Grazie
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top