-
Het niet hebben van een daadwerkelijke beperking kan leiden tot gebroken verwijzingen, ongeldige ouders en andere soorten inconsistenties in de gegevens. Ik ben geen Django-expert, maar ik vermoed dat Django in de meeste gevallen de relaties nog steeds prima zal afhandelen, tenzij je doelbewust een aantal ongeldige records toevoegt.
-
Normaal gesproken, als uw RDBMS externe-sleutelbeperkingen ondersteunt, is er absoluut geen reden om ze niet te gebruiken, en het kan mogelijk als een ontwerpfout worden beschouwd om ze te negeren.
-
Overweeg om de belangrijkste beperkingen toe te voegen. Ze geven uw DBMS niet alleen een goed idee van hoe u de queries kunt optimaliseren, ze zorgen ook voor consistentie in uw gegevens. Ik ben er vrij zeker van dat Django ergens een instelling heeft die automatisch de SQL genereert om de belangrijkste beperkingen toe te voegen wanneer je
manage.py syncdb
uitvoert
Voor meer informatie over waarom u de voorkeur geeft aan externe sleutels, moet u de MySQL Foreign Key Documentation
Meest interessant: