и посмотреть медиа
Python Interview Questions - tests
и посмотреть медиа
Questions, tests and tasks for Python interviews.
Questions, tests and tasks for Python interviews.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Channel with questions for Python interviews. Tests, tasks and materials for preparation.
🤔 Можно ли при вызове метода save указать какие поля изменять? Да, в Django ORM можно указать конкретные поля для сохранения, используя параметр update_fields в методе .save(). 🚩Как использовать `update_fields` Пример модели from django.db import models class UserProfile(models.Model): name = models.CharField(max_length=100) email = models.EmailField() age = models.IntegerField() Обновляем только поле name, не трогая email и age user = UserProfile.objects.get(id=1) user.name = "Новый пользователь" user.save(update_fields=["name"]) # Обновит только поле `name` 🚩Что делает `update_fields`? Генерирует SQL-запрос только для указанных полей, например: UPDATE user_profile SET name = 'Новый пользователь' WHERE id = 1; 🚩Когда `update_fields` полезен? Уменьшает нагрузку на БД, так как обновляет только нужные поля. Полезен, если нужно изменить одно поле, а не всю запись. Избегает ненужных изменений в auto_now и auto_now_add полях (DateTimeField). 🚩Ограничения `update_fields` Нельзя использовать при создании объекта (save() с update_fields не работает для .create()). user = UserProfile(name="Alice", email="[email protected]") user.save(update_fields=["name"]) # ❌ Ошибка, объект ещё не в базе! Не обновляет auto_now-поля (DateTimeField) автоматически! updated_at = models.DateTimeField(auto_now=True) # Не обновится с `update_fields` Решение: обновить вручную: user.updated_at = timezone.now() user.save(update_fields=["name", "updated_at"]) Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!