PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Model Django dla widoku Postgres

Django tworzy migrację dla każdej nowo dodanej tabeli w Twojej aplikacji, niezależnie od tego, czy jest to model zarządzany, czy nie. Istnieje jednak bardzo ważna i subtelna różnica, gdy używasz managed=False ustawienie. Wynikająca z tego migracja to fikcyjny wpis. W ogóle nie wykonuje żadnego SQL.

Aby to potwierdzić, dodaj nowy model niezarządzany

class Dummy(models.Model):
    something = models.IntegerField()

    class Meta:
       managed = False

teraz kiedy robisz makemigrations po którym następuje sqlimigrate *myapp* *migration_number* zobaczysz, że nie generuje żadnego sql.

Jeśli z drugiej strony okaże się, że Django próbuje stworzyć dla ciebie tabelę, oznacza to zwykle, że ten sam model istniał wcześniej, ale w czasie, gdy model był zarządzany. Aby to potwierdzić, przeszukaj swoje migrations folder dla VirtualTotal który jest nazwą danego modelu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy INSERT RETURNING gwarantuje zwrot rzeczy we właściwej kolejności?

  2. sql do wyszukiwania najnowszego rekordu w grupie

  3. Wybierz każdy miesiąc między datą początkową a końcową

  4. Przesyłanie strumieniowe danych z Postgresa do Pythona

  5. DROP TABLE IF EXISTS Przykład w PostgreSQL