Bolehkah Django Mengendalikan Kunci Asing Merentasi Pangkalan Data Berbeza?

Linda Hamilton
Lepaskan: 2024-10-31 05:28:30
asal
823 orang telah melayarinya

 Can Django Handle Foreign Keys Across Different Databases?

Had Kunci Asing Merentas Pangkalan Data dalam Django

Pengguna Django mungkin menghadapi ralat semasa mengakses kunci asing merentas pangkalan data yang berbeza. Ralat ini berlaku apabila model dalam satu pangkalan data cuba merujuk model daripada pangkalan data lain.

Konfigurasi Pangkalan Data

Dalam contoh yang disediakan, LinkModel ditakrifkan dalam pangkalan data 'url', manakala NewsModel ditakrifkan dalam pangkalan data lalai.

Isu Kunci Asing

Ralat timbul apabila cuba memberikan contoh LinkModel kepada medan kunci asing bagi objek NewsModel. Mesej ralat menunjukkan bahawa contoh yang ditetapkan berada pada pangkalan data 'url' manakala objek NewsModel berada pada pangkalan data 'lalai'.

Django Limitations

Mengikut kepada dokumentasi Django, perhubungan silang pangkalan data tidak disokong untuk kunci asing dan perhubungan banyak-ke-banyak. Had ini dikenakan kerana isu keserasian dan masalah integriti data yang berpotensi.

Masalah

Selain pengehadan yang didokumenkan, pepijat dalam kelas ForeignKey dalam Django versi 1.2, 1.3 dan 1.4rc1 juga boleh menyebabkan isu ini.

Solution

Satu penyelesaian yang mungkin adalah menggunakan tampung yang menyelesaikan pepijat dalam ForeignKey kelas. Tampalan ini boleh didapati dalam sistem tiket Django.

Dengan menggunakan tampung ini, mungkin untuk mewujudkan perhubungan utama asing merentas pangkalan data yang berbeza. Walau bagaimanapun, pengguna harus sedar bahawa ini bukan ciri yang disokong secara rasmi dan mungkin memperkenalkan isu berpotensi lain.

Atas ialah kandungan terperinci Bolehkah Django Mengendalikan Kunci Asing Merentasi Pangkalan Data Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!