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
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a