On Fri, 2009-04-03 at 13:14 -0700, Albert wrote:
>
> class Musician(models.Model):
> first_name = models.CharField(max_length=50)
> last_name = models.CharField(max_length=50)
>
> class Album(models.Model):
> artist = models.ForeignKey(Musician)
> name = models.CharField(max_length=100)
>
>
> Now in `Musician` I want to add a field "last_album".
> How can I do that? I'd like to be able to write:
>
> m = Musician(pk=1)
> print m.last_album.name
I suggest you this solution:
class Musician(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
albums = models.ManyToManyField("Album")
def last_album(self):
return self.albums.order_by("pub_date")[-1]
class Album(models.Model):
artist = models.ForeignKey(Musician)
name = models.CharField(max_length=100)
pub_date = models.DateField()
--
Marco Buttu
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---