[英]querying a self referencing table in Django
我有一個引用自身的模型,以便我在數據庫中的用戶之間建立父/子關系。 一個父母可以有多個孩子,但一個孩子只能有一個父母。
首先,這是定義模型的正確方法:
class User(models.Model):
name = models.CharField(max_length=50)
parent = models.ForeignKey('self')
其次,我需要查詢模型並返回特定父級的所有子級。 我已經閱讀了一些關於樹結構的文章,其中查詢可能更復雜。 但鑒於我只需要一層深,這是否會返回所有孩子:
children = User.objects.get(parent=PARENT_ID)
其中 PARENT_ID 顯然是父級的 id
是的,你可以像你的代碼一樣使用。
是的,但又有點不同。
children = User.objects.filter(parent__id=PARENT_ID)
您可以找到具有parent__id
孩子
筆記; 記住父母 _ _ id ,而不是 parent_id!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.