sql >> Database >  >> RDS >> PostgreSQL

De opdracht Django 1.8 inspectdb ziet geen PostgreSQL-weergaven volgens de documentatie

Vanaf Django 1.10 kunt u eenvoudig een individuele weergave een naam geven als parameter voor uw inspectdb commando:

python well/manage.py inspectdb hospitalizations_over_30_days

De standaard inspectdb zal alleen modellen.py voor tabellen uitvoeren, maar modellen voor weergaven kunnen afzonderlijk worden gegenereerd door ze een naam te geven.

In Django 2.1 en hoger, als u inspectdb . wilt om modellen te genereren voor alle tabellen en views, gebruik de inspectdb --include-views optie, die ik bijdroeg aan Django 2.1 naar aanleiding van deze vraag!

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

Om modellen voor zowel tabellen als weergaven in Django 2.0 en lager te genereren, moet u de Django-broncode bewerken. Wijzig in Django 2.0 in django/core/management/commands/inspectdb.py naar:

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

Pas op dat de gegenereerde modellen geen velden hebben met primary_key=True ingesteld, moet u de primaire sleutels handmatig toevoegen.



  1. Aan de slag met Postgres 13 op Ubuntu 20.04

  2. PHP + MySQL:verschil tussen gebufferde en niet-gebufferde zoekopdrachten

  3. Voeg in één keer een kolom toe aan alle MySQL Select Queries

  4. Fix “SQL Server blokkeerde toegang tot VERKLARING ‘OpenRowset/OpenDatasource’ van component ‘Ad Hoc Distributed Queries’