簡體   English   中英

在 Django 中查詢自引用表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM