Sono nuovo di zecca con django e sql. Un tutorial che sto esaminando mette def __unicode__(self)
su ogni classe di modelli? ecco il riferimento allo documentation Ma anche dopo aver letto non riesco ancora a capire quale sia lo scopo?Perché utilizzare il metodo __unicode __ (self) per django 1.7+?
class Project(models.Model):
name = models.CharField(max_length=300)
def __unicode__(self):
return self.name
class Task(models.Model):
description = models.CharField(max_length=300)
project = models.ForeignKey(Project)
def __unicode__(self):
return self.description
Cosa non capisci riguardo la descrizione nella documentazione? Mi sembra abbastanza chiaro. – BrenBarn
Quindi, ogniqualvolta si usa 'unicode (instance)' o '{{instance}}' in un template, viene chiamato quel metodo, perché usare solo '__str__' non funzionerebbe per produrre Unicode. In quali parti di * specificamente * hai problemi? –
@MartijnPieters Non sapevo esattamente come i modelli memorizzino i dati. Immagino che def converte i dati del modello memorizzati in unicode per i modelli front-end? –