One more note. You wouldn't NEED to explicitly grab all those vars, as you can get them in a template too. I just wanted to show you the relation. If you sent the track to the template, you can get the artist by using:
{{ track.album.artist }} Keith On Aug 22, 12:24 am, lingrlongr <[EMAIL PROTECTED]> wrote: > The only part you have that is redundant is the "artist" in your > "Track" class. You can find out the artist because a track is related > to an album, which in turn, is related to an artist. > > Some of the code you'd maybe see in a view would be: > > # views.py > from django.shortcuts import get_object_or_404 > from models import Album, Track > > def album(request, slug): > album = get_object_or_404(Album, slug=slug) > artist = album.artist > tracks = album.track_set.all() > ...etc... return a response... > > def track(request, slug): > track = get_object_or_404(Track, slug=slug) > album = track.album > artist = album.artist > ..etc.. > > HTH > > Keith > > On Aug 21, 11:44 pm, nek4life <[EMAIL PROTECTED]> wrote: > > > I'm trying to set up my first Django application and I'm trying to > > figure out the database relationships. I want to be able to list > > albums, with their corresponding tracks and album artwork. Right now > > I only have foreign keys defined in the Track class and on the > > AlbumArt class pointing to the Album class. I'm doing this so I can > > keep a record of which track or which album art goes to which album. > > However I also would like to add a ManyToManyField on my Album class > > so I can pull the album data in my view. Defining this is both places > > seems redundant to me, but I'm not sure how else I can accomplish > > this. What would be best practice in this situation and how should I > > proceed? > > > class Album(models.Model): > > title = models.CharField(max_length=255) > > prefix = models.CharField(max_length=20, blank=True) > > subtitle = models.CharField(blank=True, max_length=255) > > slug = models.SlugField(unique=True) > > artist = models.ForeignKey('Artist') > > > class AlbumArt(models.Model): > > title = models.CharField(max_length=200) > > slug = models.SlugField() > > album = models.ForeignKey('Album') > > > class Track(models.Model): > > title = models.CharField(max_length=200) > > slug = models.SlugField(unique=True) > > album = models.ForeignKey('Album') > > artist = models.ForeignKey('Artist') --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---