Django model defines the database schema using Python classes.
1from django.db import models2from django.contrib.auth.models import User34class Article(models.Model):5 title = models.CharField(max_length=200)6 content = models.TextField()7 author = models.ForeignKey(User, on_delete=models.CASCADE)8 created_at = models.DateTimeField(auto_now_add=True)9 updated_at = models.DateTimeField(auto_now=True)10 published = models.BooleanField(default=False)11 views_count = models.PositiveIntegerField(default=0)1213 class Meta:14 ordering = ["-created_at"]15 verbose_name = "Article"16 verbose_name_plural = "Articles"1718 def __str__(self):19 return self.title2021 def get_absolute_url(self):22 return f"/articles/{self.id}/"
Common field types:
CharField — short text.TextField — long text.IntegerField — whole numbers.ForeignKey — many-to-one relation.ManyToManyField — many-to-many.DateTimeField — date and time.