我有一個表messages
。在我的應用程序中,用戶可以發送不同的類型的消息。像轉發一個事件,等等。因此,我在該表中列有type
和value
。Django ORM加入另一個表
我想要做的是針對特定的type
,轉到一個特定的表並確保value
有效(通常這映射到該表的id
)。可能有多種類型,每一種都必須映射到不同的表格。有沒有一種方法在內置的Django ORM中進行邏輯寫入?現在,我只看到了這個可行的,如果我直接使用SQL,我寧可不要,如果我可以逃脫它...
現在我做這樣的事情:
Messages.objects.all().filter(Q(user_id=id))...etc
我想添加上面的檢查type
和特定的type
的聲明,檢查與其關聯的表格。
不..不要這樣。因爲我的'type'列可以映射到幾種類型的表,而不僅僅是一個......所以'value'列必須使用基於'type'的表......這有意義嗎? – KVISH
這聽起來完全像什麼內容類型。多態關聯是指當您有一個外鍵可以指向多個表中的任何一個表中的一行時,而不是僅指向單個預定義表中的行。看看我鏈接的文檔中的「通用關係」部分。 –
你確定嗎?抱歉有更多問題。但是,如果'type'是'E',我希望它檢查'event'表,如果它是'M',我希望它檢查'user'表中的'value' ... – KVISH