2

我正在尝试使用 Django 1.3 进行反向 SQL 查找。我发现了很多相关的问题,但不幸的是我只能在一条记录上找到答案,而不是一次在多条记录上找到答案。

基本上,这是我的情况:我有一个模型“技术”,看起来像这样:

class Technique(models.Model):
    title = models.CharField(max_length=32)
    description = models.CharField(max_length=256)
    skill_level = models.IntegerField()
    parent_technique = models.ForeignKey('self', blank=True, null=True)

目前,我只是列出了所有无父技术。

t = get_list_or_404(Technique.objects.filter(parent_technique=None))

现在我想要(或至少认为我想要)中的所有条目都t获得一个附加字段“子项”,其中列出了将当前技术列为其父项的所有技术。谁能帮我这个?

另外,如果他们是实现我想要的另一种方式,请随时贡献它。我刚刚开始使用 Django,所以我可能不知道任何替代方法。

提前非常感谢!

4

2 回答 2

8

这已经是内置的 -向后查看以下关系

在您的情况下,只需执行以下操作:

obj.technique_set.all()

对于每个objt.

于 2011-09-21T12:20:43.203 回答
4

在模型中添加相关名称

parent_technique = models.ForeignKey('self', blank=True, null=True, related_name="childrens_tech")

smt_technique 的所有儿童技术都是

smt_technique.childrens_tech.all()
于 2011-09-21T10:58:47.393 回答