Mysql
 sql >> Database >  >> RDS >> Mysql

Comprensione / mySQL alias ingannare le relazioni ForeignKey in Django

  1. Non avere un vincolo effettivo potrebbe portare a riferimenti interrotti, genitori non validi e altri tipi di incoerenze dei dati. Non sono un esperto di Django, ma mi azzarderei a indovinare che nella maggior parte dei casi Django gestirà comunque bene le relazioni a meno che tu non aggiunga di proposito dei record non validi.

  2. Normalmente, se il tuo RDBMS supporta i vincoli di chiave esterna, non c'è assolutamente alcun motivo per non usarli e potrebbe essere considerato un difetto di progettazione ignorarli.

  3. Dovresti considerare di aggiungere i vincoli chiave. Non solo danno al tuo DBMS una buona idea di come ottimizzare le query, ma garantiscono anche la coerenza dei tuoi dati. Sono abbastanza sicuro che Django abbia un'impostazione da qualche parte che genererà automaticamente l'SQL per aggiungere i vincoli chiave quando esegui manage.py syncdb

Per ulteriori informazioni sul motivo per cui dovresti preferire le chiavi esterne, dovresti leggere Documentazione chiave esterna MySQL

La cosa più interessante: