---
title: "Hur man integrerar Django med en äldre databas"
version: 6.0
locale: sv
source: https://docs.djangoproject.com/sv/6.0/howto/legacy-databases/
canonical: https://djangodocs.dev/sv/6.0/howto/legacy-databases/
---
# 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](/sv/6.0/intro/tutorial01/).

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`](/sv/6.0/ref/settings/#std-setting-DATABASES) och tilldela värden till följande nycklar för `'default'`-anslutningen:

- [`NAME`](/sv/6.0/ref/settings/#std-setting-NAME)
- [`ENGINE`](/sv/6.0/ref/settings/#std-setting-DATABASE-ENGINE)
- [`USER`](/sv/6.0/ref/settings/#std-setting-USER)
- [`PASSWORD`](/sv/6.0/ref/settings/#std-setting-PASSWORD)
- [`HOST`](/sv/6.0/ref/settings/#std-setting-HOST)
- [`PORT`](/sv/6.0/ref/settings/#std-setting-PORT)

## Autogenerera modellerna

Django levereras med ett verktyg som heter [`inspectdb`](/sv/6.0/ref/django-admin/#django-admin-inspectdb) som kan skapa modeller genom att introspektera en befintlig databas. Du kan visa utdata genom att köra detta kommando:

```shell
$ python manage.py inspectdb
```

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

```shell
$ python manage.py inspectdb > models.py
```

Denna funktion är tänkt som en genväg, inte som en definitiv modellgenerering. Se [`dokumentation av inspectdb`](/sv/6.0/ref/django-admin/#django-admin-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`](/sv/6.0/ref/settings/#std-setting-INSTALLED_APPS)-inställning.

Som standard skapar [`inspectdb`](/sv/6.0/ref/django-admin/#django-admin-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`](/sv/6.0/ref/models/options/#django.db.models.Options.managed) ovan till `True` (eller ta bort det eftersom `True` är dess standardvärde).

## Installera Djangos kärntabeller

Kör sedan kommandot [`migrate`](/sv/6.0/ref/django-admin/#django-admin-migrate) för att installera eventuella extra databasposter som behövs, t.ex. administratörsbehörigheter och innehållstyper:

```shell
$ 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.
