[Python] Aiuto con Django, interfaccia amministrativa e relazioni fra i modelli
Davide Olianas
davide a davideolianas.com
Mer 8 Ago 2018 20:00:20 CEST
Il 08/08/2018 19:18, germano carella ha scritto:
> Salve a tutti ragazzi, come va?
>
> ...
>
> Naturalmente tutto è perfettibile, ho da studiare ancora, magari la
> soluzione è banale e io mi sono solo perso, non lo so.
>
Ciao,
non puoi definire da una parte una relazione ManyToMany e dall'altra una
ForeignKey (ovvero una OneToMany).
Devi togliere "album_title" da Song. È infatti sufficiente definire il
ManyToManyField in Album.
Togli "self.tracknumber" in quanto non esiste come attributo.
In Album.__str__ specifica self.artist.name.
class Artist(models.Model):
name = models.CharField(max_length=60)
bio= models.TextField(blank=True)
def publish(self):
self.save()
def __str__(self):
return self.name
class Song(models.Model):
tracktitle = models.CharField(max_length=250)
def publish(self):
self.save()
def __str__(self):
return self.tracktitle
class Album(models.Model):
title = models.CharField(max_length=250)
artist = models.ForeignKey(Artist,on_delete = models.CASCADE)
notes = models.TextField(blank=True)
tracks = models.ManyToManyField(Song)
def publish(self):
self.save()
def __str__(self):
return self.title+" di "+self.artist.name
Cordiali saluti,
Davide
Maggiori informazioni sulla lista
Python