将Manytomanyfield的选择限制为前晶



假设我有这些类:

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的方法,我也对此开放。

有什么想法?

也许此解决方案可以提供帮助!

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)

相关内容

  • 没有找到相关文章

最新更新