Depuis Django 1.10, vous pouvez simplement nommer une vue individuelle en tant que paramètre de votre inspectdb
commande :
python well/manage.py inspectdb hospitalizations_over_30_days
La valeur par défaut inspectdb
ne sortira que models.py pour les tables, mais les modèles pour les vues peuvent être générés individuellement en les nommant.
Dans Django 2.1 et supérieur, si vous voulez inspectdb
pour générer des modèles pour toutes les tables et vues, utilisez le inspectdb --include-views
option, que j'ai contribué à Django 2.1
à la suite de cette question !
python well/manage.py inspectdb --include-views
Pour générer des modèles pour les tables et les vues dans Django 2.0 et versions antérieures, vous devez modifier le code source de Django. Dans Django 2.0, modifiez ligne 57 dans django/core/management/commands/inspectdb.py
à :
tables_to_introspect = options['table'] or connection.introspection.table_names(cursor=cursor, include_views=True)
Attention, les modèles générés n'auront pas de champs avec primary_key=True
défini, vous devrez ajouter les clés primaires manuellement.