-
Hvis du ikke har en egentlig begrænsning, kan det føre til ødelagte referencer, ugyldige forældre og andre former for datainkonsekvenser. Jeg er ikke en Django-ekspert, men jeg vil vove et gæt på, at Django i de fleste tilfælde stadig vil håndtere relationerne fint, medmindre du bevidst tilføjer nogle ugyldige poster.
-
Normalt, hvis dit RDBMS understøtter fremmednøglebegrænsninger, er der absolut ingen grund til ikke at bruge dem, og det kan potentielt betragtes som en designfejl at ignorere dem.
-
Du bør overveje at tilføje de vigtigste begrænsninger. Ikke alene giver de dit DBMS en god idé om, hvordan du optimerer forespørgslerne, de sikrer også konsistens i dine data. Jeg er ret sikker på, at Django har en indstilling et sted, der automatisk genererer SQL'en for at tilføje nøglebegrænsningerne, når du kører
manage.py syncdb
For mere information om, hvorfor du bør foretrække fremmednøgler, bør du læse MySQL udenlandsk nøgledokumentation
Mest interessant: