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