Om een datamodel in Django te maken, moet je eerst de modellen definiëren. Een model in Django is eigenlijk een aangepaste datatypedefinitie. Django maakt gebruik van object-relationele mapping (ORM), waarmee je databases en modellen kunt maken zonder SQL te hoeven schrijven.
Eerste stap is het maken van een nieuw Django app:
```
python manage.py startapp myapp
```
Om een datamodel te maken, moet je naar het bestand `models.py` in je app-directory gaan. Django maakt automatisch een `models.py` bestand wanneer een nieuwe app wordt gemaakt.
Stel je wil een model voor een blogpost maken. Een blogpost model kan de volgende velden hebben: titel, inhoud, publicatiedatum. De code ziet er dan als volgt uit:
```
from django.db import models
class BlogPost(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField(‘date published’)
```
`BlogPost` is onze modelklasse en erft van de basisklasse `models.Model`. `CharField` is een veld dat wordt gebruikt voor korte tekenreeksen. `TextField` wordt gebruikt voor lange tekenreeksen en `DateTimeField` wordt gebruikt voor datum en tijd.
Nadat je het model hebt gedefinieerd, moet je Django laten weten dat je een wijziging in je modellen hebt aangebracht door een migratiebestand te maken. Django gebruikt deze migratiebestanden om wijzigingen in je modellen naar de database-schema te vertalen.
Voer het volgende commando uit:
```
python manage.py makemigrations myapp
```
Vervolgens pas je deze migratie toe op de database:
```
python manage.py migrate
```
In je database is nu een nieuwe tabel aangemaakt op basis van het datamodel dat je zojuist hebt geschreven.
Om toegang tot je datamodel vanuit andere delen van je Django-project te krijgen dient je app toegevoegd te worden aan `INSTALLED_APPS` in je instellingenbestand (`settings.py`):
```
INSTALLED_APPS = [
# …
‘myapp’,
# …
]
```
Deze voorbeelden en uitleggen zijn gebaseerd op officiële Django-documentatie (https://docs.djangoproject.com/).
Zo maak je een datamodel in Django. Het is best eenvoudig met behulp van Django ORM, omdat je je meer kunt concentreren op hoe de gegevens zich moeten gedragen in plaats van de onderliggende database en SQL.