


Bagaimanakah cara saya melaksanakan Kunci Asing merentas pangkalan data yang berbeza dalam Django apabila menghadapi batasan?
Cara Melaksanakan Kunci Asing Merentasi Pangkalan Data Berbeza dalam Django
Dalam Django, menggunakan kunci asing adalah penting untuk mewujudkan hubungan antara objek yang disimpan merentasi pelbagai pangkalan data. Walau bagaimanapun, proses ini boleh memberikan cabaran apabila model untuk pangkalan data yang berbeza terlibat.
Memahami Had Kunci Asing Merentas Pangkalan Data
Django pada masa ini melarang hubungan utama asing antara model yang berada dalam pangkalan data berasingan. Sekatan ini berpunca daripada ketiadaan sokongan untuk perhubungan silang pangkalan data. Jika anda menggunakan penghala pangkalan data kepada model partition, perhubungan kunci asing mesti dihadkan kepada dalam satu pangkalan data.
Ralat: Menetapkan Model Tidak Serasi
Ralat yang ditemui dalam kod anda berpunca daripada percubaan untuk menetapkan contoh LinkModel daripada pangkalan data "url" kepada tika NewsModel daripada pangkalan data lalai. Memandangkan model ini tergolong dalam pangkalan data yang berbeza, Django menimbulkan ralat yang menghalang tugasan ini.
Penyelesaian: Tugasan Kunci Asing Manual
Untuk memintas pengehadan ini, anda boleh melaksanakan penyelesaian tersuai. Daripada memberikan contoh LinkModel secara langsung melalui medan pautan NewsModel, tetapkan medan kunci asing secara manual dalam pangkalan data:
<code class="python">from django.db import connection # Retrieve the LinkModel instance from the database link = LinkModel.objects.using('urls').get(id=1) # Execute a raw SQL query to update the foreign key value in the default database with connection.cursor() as cursor: cursor.execute( "UPDATE news SET link_id = %s WHERE title = %s", [link.id, "test"] )</code>
Pendekatan ini mengemas kini nilai kunci asing secara manual dalam pangkalan data lalai, memautkan item berita dengan berkesan ke contoh LinkModel yang dikehendaki.
Atas ialah kandungan terperinci Bagaimanakah cara saya melaksanakan Kunci Asing merentas pangkalan data yang berbeza dalam Django apabila menghadapi batasan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)?
