vault backup: 2026-05-31 09:58:45

This commit is contained in:
Dmitry
2026-05-31 09:58:45 +03:00
parent 1e5b0feb01
commit 3a8cc0c853
5 changed files with 63 additions and 33 deletions
@@ -1,10 +1,10 @@
---
status: seed
status: processing
type: concept
tags: [django, backend, orm, database, migrations]
created: 2026-05-30
updated: 2026-05-30
title: Django: Модели и ORM
updated: 2026-05-31
title: "Django: Модели и ORM"
source: ["[[lec1-django_start_models-1.pdf]]", "[[lec4-django_lec_queries.pdf]]", "[[p1-django-1.pdf]]"]
---
@@ -33,16 +33,29 @@ class Person(models.Model):
```
### Типы полей
- `AutoField`, `CharField(max_length=N)`, `TextField`.
- `IntegerField`, `DecimalField(max_digits, decimal_places)`.
- `BooleanField`, `DateField`, `DateTimeField`.
- `EmailField`, `FileField`, `ImageField`.
- `AutoField` — автоинкрементный числовой первичный ключ.
- `CharField(max_length=N)` — короткая строка фиксированной максимальной длины.
- `TextField` — длинный текст без обязательного ограничения длины.
- `IntegerField` — целое число.
- `DecimalField(max_digits, decimal_places)` — точное десятичное число, удобно для денег и измерений.
- `BooleanField` — логическое значение `True`/`False`.
- `DateField` — дата без времени.
- `DateTimeField` — дата и время.
- `EmailField` — строка с валидацией email-адреса.
- `FileField` — путь к загруженному файлу.
- `ImageField` — файл изображения с дополнительной проверкой формата.
### Отношения
- `ForeignKey(Target, on_delete=models.CASCADE)` — Один ко многим.
- `OneToOneField(Target, on_delete=models.CASCADE)` — Один к одному.
- `ManyToManyField(Target)`Многие ко многим.
- **on_delete:** `CASCADE`, `PROTECT`, `SET_NULL`, `SET_DEFAULT`, `DO_NOTHING`.
- `ForeignKey(Target, on_delete=...)` — связь «один ко многим»: у одной записи `Target` может быть много связанных записей текущей модели.
- `OneToOneField(Target, on_delete=...)` — связь «один к одному»: каждой записи соответствует максимум одна связанная запись.
- `ManyToManyField(Target)`связь «многие ко многим»: записи обеих моделей могут ссылаться на несколько записей другой модели.
`on_delete` задаёт, что делать с текущей записью, если удаляется связанная запись `Target`:
- `CASCADE` — удалить текущую запись вместе со связанной.
- `PROTECT` — запретить удаление связанной записи, пока на неё есть ссылки.
- `SET_NULL` — записать `NULL` в поле связи; требует `null=True`.
- `SET_DEFAULT` — записать значение по умолчанию; требует `default`.
- `DO_NOTHING` — ничего не делать на уровне Django, ответственность остаётся на БД и разработчике.
---
@@ -3,8 +3,8 @@ status: seed
type: concept
tags: [css, flexbox, grid, adaptive-design, responsive-web]
created: 2026-05-30
updated: 2026-05-30
title: CSS: Адаптивность, Flexbox и Grid
updated: 2026-05-31
title: "CSS: Адаптивность, Flexbox и Grid"
source: ["[[14-css-adaptive.pdf]]", "[[17-css-grid.pdf]]", "[[18-css-flex.pdf]]"]
---