我有一个引用自身的模型,因此我在db中的用户之间有父/子关系。父母可以有多个孩子,但孩子只能有一个孩子。
首先,这是定义模型的正确方法:
class User(models.Model):
name = models.CharField(max_length=50)
parent = models.ForeignKey('self')
其次,我需要查询模型并返回特定父级的所有子级。我已经阅读了一些关于树结构的文章,其中查询可能更复杂。但鉴于我只需要一层深度,这将返回所有孩子:
children = User.objects.get(parent=PARENT_ID)
其中PARENT_ID显然是父
的id答案 0 :(得分:1)
是的,您可以像使用代码一样使用。
和是的,但有点不同。
children = User.objects.filter(parent__id=PARENT_ID)
您可以找到parent__id
请注意;记住parent _ _ id,而不是parent_id!