Kesukaran Memuatkan Jadual Django dengan Pelbagai Jenis Kandungan Aplikasi
Apabila cuba memuatkan lekapan Django ke dalam pangkalan data MySQL, anda mungkin menghadapi konflik jenis kandungan. Isu ini timbul apabila cuba mengasingkan data daripada aplikasi tertentu, kerana aplikasi yang disasarkan sering bergantung pada jadual daripada apl lain.
Untuk menyelesaikan masalah ini, biasanya disyorkan untuk memasukkan apl tambahan dalam arahan dumpdata sehingga semua jadual yang diperlukan dikira. Walau bagaimanapun, dalam kes ini, fail "fixture.json" dijana, tetapi percubaan untuk memuatkan data sebagai lekapan ujian mengakibatkan pelanggaran kekangan disebabkan oleh nilai kunci utama yang bercanggah.
Walaupun dokumentasi Django mencadangkan lambakan contenttypes app, anda menunjukkan bahawa anda sudah melakukan ini. Penyelesaian yang disyorkan yang disediakan dalam penjejak isu Django nampaknya tidak menangani isu tersebut.
Satu penyelesaian berpotensi untuk masalah ini ialah menggunakan bendera "--natural" apabila menggunakan arahan dumpdata. Dengan berbuat demikian, Django akan mewakili kunci asing menggunakan bentuknya yang lebih tahan lama, juga dikenali sebagai "kunci semula jadi". Sebagai contoh, "Permission.codename" akan digunakan dan bukannya "Permission.id", dan "User.username" akan digunakan dan bukannya "User.id".
Menggunakan bendera "--natural" memastikan perwakilan kunci asing yang lebih mantap dan boleh menyelesaikan konflik semasa memuatkan lekapan.
Atas ialah kandungan terperinci Mengapa Perlawanan Django Saya Gagal Dimuat dengan Konflik Jenis Kandungan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!