F() позволяет ссылаться на значение поля в БД без загрузки в Python. Entry.objects.update(views=F("views") + 1) — инкремент на уровне SQL (атомарно, без race condition). Без F: obj.views += 1; obj.save() — race condition при конкурентных запросах. F() можно использовать в filter: filter(likes__gt=F("dislikes")) — сравнение двух полей одной записи. Поддерживает арифметику, конкатенацию строк (Concat), условия (Case/When). Всё выполняется на стороне БД — эффективно.
Что такое F expressions в Django?
Middle
235 просмотровAFK Offer AI
Как работает sentry-sdk?