В этой части учебника мы рассмотрим создание моделей в Django, но пока только как её строить для базы данных, работу с ней посмотрим в следующей части.
Работа с Django модель:
Как говорилось выше, тут мы поговорим о настройки этой модели, и чтобы её настроить, заходим в файл «models.py», в вашем приложении, если его нет, то создаём, и создаём там новую модель.
Вот как это делается:
1 2 3 4 5 6 7 8 9 10 11 | from django.db import models class Post(models.Model): id = models.AutoField(unique=True, primary_key=True) title = models.CharField(max_length=50) text = models.TextField() img = models.ImageField(upload_to='static/posts/') date = models.DateTimeField(auto_now=True) def __str__(self): return self.title |
Здесь мы создаём модель для постов, как видите мы в начале импортируем models
, и потом при создание класса модели, мы наследуем его от models.Model
.
Внутри же мы создаём свойства класса, которые как раз и будут отвечать за столбцы в строке элемента в базе данных, тип столбца формируется благодаря методу из models
. Вот эти методы:
- AutoField() — Автоматическое добавление поля, используется для создания идентификаторов;
- CharField() — Строковое поле, используется для добавления строки не больше 255 символов, у нас ограничение до 50 символов;
- TextField() — Строковое поле, но уже используется для создания больших текстов, более 255 символов;
- ImageField() — Хранит изображение, а точнее путь до него;
- DateTimeField() — Хранит дату;
То есть тут всё просто, единственное последние два, это по сути строки, но они нужны для удобства работы с ними уже в «представление», поэтому если хотите сохранить картинку или время, то лучше использовать их.
Также надо сказать, что это конечно не все методы, но основные которые вы будите использовать в своих проектах, а так ещё есть например для хранения файлов и для хранения времени.
Ещё мы создаём в классе метод __str__()
, он используется если нам нужно вывести элемент базы данных в строковом виде, то есть мы в этом случае выведем заголовок поста.
Таким образом вы можете переделывать стандартные методы модели, особенно это актуально для метода save()
, который нужен для сохранения элемента модели в базу данных, например если вам надо что-то проверить или ещё какие-то действия сделать перед сохранением.
Вывод:
В этой части учебника мы рассмотрели создание моделей в Django, основные свойства, и немного поговорили о методах, в следующей части, мы уже рассмотрим как полноценно работать с моделями, сохранять, обновлять и удалять их, и много другое.