-
Tidak memiliki batasan yang sebenarnya dapat menyebabkan referensi yang rusak, orang tua yang tidak valid, dan jenis inkonsistensi data lainnya. Saya bukan ahli Django tetapi saya berani menebak bahwa dalam kebanyakan kasus Django masih akan menangani relasi dengan baik kecuali jika Anda dengan sengaja menambahkan beberapa catatan yang tidak valid.
-
Biasanya, jika RDBMS Anda mendukung batasan kunci asing, sama sekali tidak ada alasan untuk tidak menggunakannya, dan dapat dianggap sebagai cacat desain untuk mengabaikannya.
-
Anda harus mempertimbangkan untuk menambahkan batasan utama. Mereka tidak hanya memberi DBMS Anda ide bagus tentang cara mengoptimalkan kueri, mereka juga memastikan konsistensi dalam data Anda. Saya cukup yakin Django memiliki pengaturan di suatu tempat yang secara otomatis akan menghasilkan SQL untuk menambahkan batasan kunci ketika Anda menjalankan
manage.py syncdb
Untuk informasi lebih lanjut tentang mengapa Anda harus memilih kunci asing, Anda harus membaca Dokumentasi Kunci Asing MySQL
Yang paling menarik: