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

Django crée automatiquement des clés primaires pour les tables de base de données existantes

D'après la documentation de Django :Cette fonctionnalité est conçue comme un raccourci, pas comme une génération de modèle définitive. Voir la documentation d'inspectdb pour plus d'informations. (Référence :https://docs.djangoproject.com/en/1.8 /howto/legacy-databases/ )

Vous devrez nettoyer manuellement les modèles et migrer. La ligne que vous devrez ajouter pour ajouter le champ "id" est :

id = models.IntegerField(primary_key=True)

Avertissement :Je créerais certainement une copie de la base de données pour jouer avec, plutôt que l'original. Cela vous prendra probablement quelques essais et erreurs pour bien faire les choses. Une fois que vous êtes absolument sûr d'avoir bien compris, vous pouvez modifier Managed=True , mais soyez TRÈS attention !