I found a tutorial!
I studied ForeignKey and how it works with sets... Now, I'll learn how
to create a form and how to save the new data in set.
Thanks!
Il 09/08/2018 22:59, Julio Biason ha scritto:
Hi Germano,
When you use "ManyToMany", you're saying "any book can have any
chapter and vice versa". That's obviously what you don't want. What
you want is "A book has a closed set of chapters". This is done by
thinking a bit on the other way with Django: Instead of saying "There
is a list of chapters of this book", you say "The chapter belongs to a
single book" with a foreign key:
class Book(models.Model):
title = models.CharField(max_length=250)
class Chapters(models.Model):
title = models.CharField(max_length=250)
text = models.TextField()
book = models.ForeignKey(Book)
Now a chapter can belong only to a book.
On Thu, Aug 9, 2018 at 4:34 PM, Germano Carella
<[email protected] <mailto:[email protected]>> wrote:
Hi,
I'm Germano from Italy. I'm new of django.
Probably this discussion has many many examples, but I can't find
my situation.
I have two models, Book and Chapters.
These are simple models, I need them only for educational purpose.
class Book(models.Model):
title=models.CharField(max_length=250)
chapters = models.ManyToManyField('Chapters')
class Chapters(models.Model):
title_of_chapter = models.CharField(max_length=250)
text=models.TextField()
Now, in admin interface I can add chapters on a new book and it
works fine.
So, whdn I try to add a second book I can see chapters of book I
added previously.
When I add a new book I want see only chapter of this book. List
must be empty if I'm adding a new book.
It's very simple, but I can't find a way to make it working.
I tried somethings, such as
chapters=
models.ManyToManyField('Chapters',limit_choices_to=Q('book__title'=title))
But this not works.
I know Chapters has book_set, that is the set of references for a
chapter.
There is a way to make it working?
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/django-users
<https://groups.google.com/group/django-users>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/2f104d64-50f4-433b-a764-be29d9a77f0c%40googlegroups.com
<https://groups.google.com/d/msgid/django-users/2f104d64-50f4-433b-a764-be29d9a77f0c%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
*Julio Biason*,Sofware Engineer
*AZION* | Deliver. Accelerate. Protect.
Office: +55 51 3083 8101 <callto:+555130838101> | Mobile: +55 51
<callto:+5551996209291>_99907 0554_
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/CAEM7gE0rAfJPYbgKxgHCRYwVuAEBGQrz5X2WxOJdOW6mG%3DzK3Q%40mail.gmail.com
<https://groups.google.com/d/msgid/django-users/CAEM7gE0rAfJPYbgKxgHCRYwVuAEBGQrz5X2WxOJdOW6mG%3DzK3Q%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/2cadbc8e-ccdc-2283-9a58-7097c6a4f010%40gmail.com.
For more options, visit https://groups.google.com/d/optout.