Создание модели данных
Модели в Django представляют собой объекты, отображающие структуру базы данных в приложении. Создание модели начинается с определения класса, который наследует django.db.models.Model
. Для каждого поля в таблице базы данных необходимо создать атрибут класса с соответствующим типом данных.
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
publication_date = models.DateField()
Миграции
После создания модели необходимо создать миграции, которые будут отражать изменения в структуре базы данных. Для создания миграций используйте команду makemigrations
:
python manage.py makemigrations
Применение миграций
Чтобы применить миграции и обновить структуру базы данных, используйте команду migrate
:
python manage.py migrate
Настройка полей модели
Можно настроить различные атрибуты полей модели, такие как ограничения, значения по умолчанию и определения связей между моделями. Например, для создания связи между моделями Author
и Book
, добавьте поле ForeignKey
:
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
publication_date = models.DateField()
Определение методов модели
В моделях можно определить методы, которые будут выполнять определенные операции на объектах модели. Например, можно определить метод, возвращающий краткое описание книги:
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
publication_date = models.DateField()
def short_description(self):
return f"{self.title} by {self.author.name}"
Регистрация моделей в админ-панели
Для управления объектами модели через админ-панель Django, необходимо зарегистрировать модели в файле admin.py
приложения:
from django.contrib import admin
from .models import Author, Book
admin.site.register(Author)
admin.site.register(Book)
Теперь вы можете создавать, изменять и удалять объекты моделей через админ-панель Django.