Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat Integriti Memuatkan Jadual Django yang Disebabkan oleh Konflik ContentType?

Bagaimana untuk Menyelesaikan Ralat Integriti Memuatkan Jadual Django yang Disebabkan oleh Konflik ContentType?

Patricia Arquette
Lepaskan: 2024-12-01 15:55:12
asal
394 orang telah melayarinya

How to Resolve Django Fixture Loading IntegrityErrors Caused by ContentType Conflicts?

Isu dengan ContentTypes semasa Django Fixture Loading

Masalah:

Semasa cuba memuatkan Django lekapan ke dalam pangkalan data MySQL, anda menghadapi konflik jenis kandungan. Selepas membuang data daripada berbilang apl, termasuk "escola," dan cuba memuatkan data sebagai lekapan, anda menerima pelanggaran kekangan berikut:

IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Salin selepas log masuk

Nampaknya Django cuba mencipta semula jenis kandungan dengan utama yang berbeza nilai utama yang bercanggah dengan nilai dalam lekapan.

Penyelesaian:

Penyelesaian yang disyorkan ialah menggunakan dumpdata --natural. Pilihan ini menggunakan "kunci semula jadi" untuk mewakili kunci asing, yang lebih tahan lama dan kurang terdedah kepada konflik. Contohnya, bukannya menggunakan Permission.id, ia menggunakan Permission.codename.

Petua Tambahan:

Pertimbangkan hujah tambahan berikut untuk dumpdata:

  • --indent=4: Menambah lekukan untuk kebolehbacaan.
  • -e sesi: Tidak termasuk data sesi.
  • -e pentadbir: Tidak termasuk sejarah tindakan pentadbir.
  • -e contenttypes -e auth. Kebenaran: Mengecualikan objek yang dicipta semula secara automatik semasa syncdb apabila digunakan dengan --natural. Ini boleh mengelakkan isu penjajaran dengan nombor ID.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Integriti Memuatkan Jadual Django yang Disebabkan oleh Konflik ContentType?. 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