2016-11-29 6 views
0

допустим у меня есть эти классы:предельные выборы ManyToManyField в виде foreginkey

models.py

class Parent(models.Model): 
    title = models.CharField(max_length=250) 


class Child(models.Model): 
    parent = models.ForeignKey(Parent) 
    title = models.CharField(max_length=250) 


class Family(models.Model): 
    title = models.CharField(max_length=250) 
    parent = models.ForeignKey(Parent) 
    child = models.ManyToManyField(Child) 

проблема с этим кодом семья форма показывает все «ребенок» объекты.

Мне нужно показать объекты «Ребенок», только если ребенок связан с объектами «Родитель» в семейной форме.

, если есть способ, чтобы не использовать ManyToManyField я открыт для этого тоже ..

любая идея?

ответ

0

Возможно, это решение может помочь!

class Parent(models.Model): 
     title = models.CharField(max_length=250) 

class Child(models.Model): 
    parent = models.ForeignKey(Parent) 
    title = models.CharField(max_length=250) 

class Family(models.Model): 
    title = models.CharField(max_length=250) 
    parent = models.ForeignKey(Parent) 

    filtered_childs = Child.objects.all().filter(parent=self.parent) 
    filtered_childs = list((k, v) for k, v in enumerate(filtered_childs)) 
    child = models.CharField(choices=filtered_childs, max_length=20) 
+0

не работал. я должен добавить что-то в код? – DjangoGuy