Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comprendre / mySQL alias tromper les relations ForeignKey dans Django

  1. Ne pas avoir de contrainte réelle peut entraîner des références brisées, des parents invalides et d'autres types d'incohérences de données. Je ne suis pas un expert de Django mais j'oserais supposer que dans la plupart des cas, Django gérera toujours les relations correctement à moins que vous n'ajoutiez délibérément des enregistrements invalides.

  2. Normalement, si votre SGBDR prend en charge les contraintes de clé étrangère, il n'y a absolument aucune raison de ne pas les utiliser, et cela pourrait potentiellement être considéré comme un défaut de conception de les ignorer.

  3. Vous devriez envisager d'ajouter les contraintes clés. Non seulement ils donnent à votre SGBD une bonne idée de la façon d'optimiser les requêtes, mais ils assurent également la cohérence de vos données. Je suis presque sûr que Django a un paramètre quelque part qui générera automatiquement le SQL pour ajouter les contraintes de clé lorsque vous exécutez manage.py syncdb

Pour plus d'informations sur les raisons pour lesquelles vous devriez préférer les clés étrangères, vous devriez lire le Documentation sur les clés étrangères MySQL

Le plus intéressant :