# Django 5.2.8 documentation

# Hur man integrerar Django med en äldre databas

Även om Django är bäst lämpat för att utveckla nya applikationer är det fullt möjligt att integrera det i äldre databaser. Django innehåller ett par verktyg för att automatisera så mycket som möjligt av denna process.

Detta dokument förutsätter att du känner till grunderna i Django, som beskrivs i tutorial.

När du har konfigurerat Django följer du den här allmänna processen för att integrera med en befintlig databas.

## Ge Django dina databasparametrar

Du måste berätta för Django vad dina databasanslutningsparametrar är och vad namnet på databasen är. Gör det genom att redigera inställningen `DATABASES` och tilldela värden till följande nycklar för `'default'`-anslutningen:

- `NAME`

- `ENGINE`

- `USER`

- `PASSWORD`

- `HOST`

- `PORT`

## Autogenerera modellerna

Django levereras med ett verktyg som heter `inspectdb` som kan skapa modeller genom att introspektera en befintlig databas. Du kan visa utdata genom att köra detta kommando:

    $ python manage.py inspectdb

Spara detta som en fil med hjälp av Unix standard omdirigering av utdata:

    $ python manage.py inspectdb > models.py

Denna funktion är tänkt som en genväg, inte som en definitiv modellgenerering. Se `dokumentation av inspectdb` för mer information.

När du har rensat upp dina modeller, namnge filen `models.py` och lägg den i Python-paketet som innehåller din app. Lägg sedan till appen i din `INSTALLED_APPS`-inställning.

Som standard skapar `inspectdb` ohanterade modeller. Det vill säga, `managed = False` i modellens `Meta`-klass säger till Django att inte hantera varje tabells skapande, modifiering och borttagning:

    class Person(models.Model):
        id = models.IntegerField(primary_key=True)
        first_name = models.CharField(max_length=70)

        class Meta:
            managed = False
            db_table = "CENSUS_PERSONS"

Om du vill tillåta Django att hantera tabellens livscykel måste du ändra alternativet `managed` ovan till `True` (eller ta bort det eftersom `True` är dess standardvärde).

## Installera Djangos kärntabeller

Kör sedan kommandot `migrate` för att installera eventuella extra databasposter som behövs, t.ex. administratörsbehörigheter och innehållstyper:

    $ python manage.py migrate

## Testa och justera

Det här är de grundläggande stegen - härifrån vill du justera de modeller som Django genererade tills de fungerar som du vill. Försök att komma åt dina data via Djangos databas-API och försök att redigera objekt via Djangos admin-webbplats och redigera modellfilen i enlighet därmed.