sql >> Databasteknik >  >> RDS >> PostgreSQL

Django 1.8 inspectdb-kommandot ser inte PostgreSQL-vyer enligt dokumentationen

Från och med Django 1.10 kan du helt enkelt namnge en individuell vy som en parameter till din inspectdb kommando:

python well/manage.py inspectdb hospitalizations_over_30_days

Standard inspectdb kommer bara att mata ut models.py för tabeller, men modeller för vyer kan genereras individuellt genom att namnge dem.

I Django 2.1 och senare, om du vill ha inspectdb för att generera modeller för alla tabeller och visningar, använd inspectdb --include-views alternativ, som jag bidrog till Django 2.1 som ett resultat av denna fråga!

python well/manage.py inspectdb --include-views

För att generera modeller för både tabeller och vyer i Django 2.0 och nedan måste du redigera Django-källkoden. I Django 2.0 ändrar du #inspect/management/7b i django/core/management/commands/inspectdb.py till:

tables_to_introspect = options['table'] or connection.introspection.table_names(cursor=cursor, include_views=True)

Tänk på att de genererade modellerna inte kommer att ha fält med primary_key=True måste du lägga till primärnycklar manuellt.



  1. Kan databasposter som lagts till från objekt raderas med knappen?

  2. Skapa en "Istället för" trigger i SQL Server

  3. netbeans xdebug väntar på anslutning trots att ha gått igenom alla forumsvar

  4. MySQL:Kloning av en MySQL-databas på samma MySql-instans