The first way is the correct way, to get all the chapters for a given
book you would do book_obj.chapter_set.all() , you can set what this
attribute is named by doing ForeignKey(Chapter,
related_name='this_thing').

On May 9, 11:08 am, Mike Chambers <[EMAIL PROTECTED]> wrote:
> I am working on an app to host some books online. I cant figure out the
> best way to represent a one to many relationship.
>
> Basically, a Book has multiple Chapters, but a Chapter can only be in
> one book.
>
> Looking at the docs, this seems to be the way to represent this:
>
> ------
> class Book(models.Model):
>
> class Chapter(models.Model):
>         book = models.ForeignKey(Chapter)
> ------
>
> Is that right? This seems a little counterintuitive to me, and something
> like this seems to make more sense:
>
> ------
> class Book(models.Model):
>         chapters = models.ManyToManyField(Chapter)
>
> class Chapter(models.Model):
> ------
>
> Of course, that means that a chapter can be placed on multiple books.
>
> The second example, also seems to make it a little easier to work with
> Books, as I can do:
>
> Book.objects.all()
>
> and get the Chapters associated with each book.
>
> So, what is the "correct" way to model this relationship?
>
> Thanks for any input...
>
> mike
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to