具有外鍵的 Django 模型可以存在於不同的資料庫中嗎?
Oct 29, 2024 pm 12:22 PM在不同資料庫中使用具有外鍵的Django 模型
在Django 中,您可以建立駐留在不同資料庫中的模型。但是,在這些模型之間使用外鍵關係時存在限制。
考慮以下範例:
1 2 3 4 5 6 7 8 9 |
|
設定資料庫路由器後,您可能會遇到錯誤:指派外鍵:
1 2 |
|
這是因為Django不支援跨資料庫外鍵關係。外鍵和多對多關係必須位於單一資料庫的內部。
故障排除
如果即使已分割也遇到此錯誤如果您的模型正確,這可能是由於 Django 的ForeignKey 類別中的錯誤所致。要解決此問題,您可以向您的專案套用修補程式:
1 2 3 4 5 6 7 |
|
解決方案
為了避免跨資料庫限制,您可以使用替代方案方法。考慮建立一個抽像外鍵關係的模型,例如:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
透過使用抽象基礎模型來定義外鍵關係,您可以建立抽像模型的多個特定於資料庫的子類別。這使您可以在跨多個資料庫對資料進行分割時維護關係。
以上是具有外鍵的 Django 模型可以存在於不同的資料庫中嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼?
