внимание! мои пять копеек, без которых - никуда. 3:43 - Сергей оговорился. Все наоборот: order_by("title") ASC (ascending) = сортировка по возрастанию order_by("-title") DESC (descending) = сортировка по убыванию. Как я понимаю, для сортировки строк по алфавиту сравниваются порядковые номера(индексы), которые соответствуют их буквам в какой-то там таблице. Чем раньше буква расположена в алфавите, тем меньше будет её порядковый номер(индекс). То есть А
Интересно как на уровне Django происходит трансформация атрибутов объекта класса Women: title, content, time_create, time_update, которые сами являются объектами классов Char_Field, TextField, DataTimeField, в "поля записи". Я понимаю что они просто записываются SQL-запросом в таблицу, но до этого мы же взаимодействуем в терминале с объектами Women, где они, эти атрибуты, по сути, являются просто переменными в которые можно записывать текст: title = "Кира Найтли". То-есть, получается что в процессе работы в терминале, например, при команде Women.objects.get(pk=2) возвращается трансформированный объект Women, где атрибуты title, content, time_create и т.д. становятся просто переменными.🤔
Отличный контент, продолжайте. Получается, чтобы изменить одну запись, всё равно нужно использовать filter? Полученную get запись никак не получится изменить? Будет ли обновление плей-листа по DRF?
Ну почему же? Через get получаем запись, делаем на нее ссылку переменной и уже через переменную меняем её атрибуты (как с марго робби), главное не забыть потом сделать save()
Большое спасибо за урок, параллельно с вашим проектом сайта веду свой собственный для отработки знаний, у меня в нем есть некий раздел с рейтингом автомобилей и я планирую их в будущем выгружать из БД. У меня есть спарсенный файл в формате JSON с нужными данными, как мне можно его вставить в нужную таблицу БД автоматически, чтобы её не заполнять ручками? Куда копать? Буду благодарен за ответ
Мне кажется, ты можешь его просто открыть также в консоли и через цикл, пробегаясь по ключам, создавать экземпляры модели и тут же их добавлять. Во всяком случае на данный момент моих познаний о Django хватает только на такой способ
то есть, чтобы изменить ОДНУ запись, нужно использовать фильтр следующим образом: Women.objects.filter(pk__gt=1, pk__lt=3).update(is_published=0) ? или все же существуют способы попроще?
Индексы разные бывают, например primary key, unique, индексы для поиска текста, на сортируемые поля, нужно смотреть в документацию, как какой индекс в джанго, да и ваш способ не может позволить указать индекс по 2-3 полям сразу(так называемый составной индекс)
внимание! мои пять копеек, без которых - никуда.
3:43 - Сергей оговорился. Все наоборот:
order_by("title")
ASC (ascending) = сортировка по возрастанию
order_by("-title")
DESC (descending) = сортировка по убыванию.
Как я понимаю, для сортировки строк по алфавиту сравниваются порядковые номера(индексы), которые соответствуют их буквам в какой-то там таблице. Чем раньше буква расположена в алфавите, тем меньше будет её порядковый номер(индекс).
То есть А
Коды ascii таблицы
всё верно
Надо же, поставил на паузу и поменял на 1ку публикации сам)))
Интересно как на уровне Django происходит трансформация атрибутов объекта класса Women: title, content, time_create, time_update, которые сами являются объектами классов Char_Field, TextField, DataTimeField, в "поля записи". Я понимаю что они просто записываются SQL-запросом в таблицу, но до этого мы же взаимодействуем в терминале с объектами Women, где они, эти атрибуты, по сути, являются просто переменными в которые можно записывать текст: title = "Кира Найтли". То-есть, получается что в процессе работы в терминале, например, при команде Women.objects.get(pk=2) возвращается трансформированный объект Women, где атрибуты title, content, time_create и т.д. становятся просто переменными.🤔
Есть ещё очень полезные: Woman.objects.last() и Woman.objects.first() для получения последней и первой записи соответственно.
Спасибо
У меня не сортирует в обратном порядке 6 мин 30 сек. Помогла перезагрузка. Слишком часто глюки у Джанго. Начало напрягать.
Отличный контент, продолжайте. Получается, чтобы изменить одну запись, всё равно нужно использовать filter? Полученную get запись никак не получится изменить? Будет ли обновление плей-листа по DRF?
Спасибо! Да, но если прописать filter(...).update(...), то сформируется один запрос на обновление.
Ну почему же? Через get получаем запись, делаем на нее ссылку переменной и уже через переменную меняем её атрибуты (как с марго робби), главное не забыть потом сделать save()
@@АлексейАлексеев-ц8х9т тогда будет два SQL-запроса: на получение и на изменение
@@selfedu_rus согласен, количество обращений к базе лучше сократить до минимума
👍
Большое спасибо за урок, параллельно с вашим проектом сайта веду свой собственный для отработки знаний, у меня в нем есть некий раздел с рейтингом автомобилей и я планирую их в будущем выгружать из БД. У меня есть спарсенный файл в формате JSON с нужными данными, как мне можно его вставить в нужную таблицу БД автоматически, чтобы её не заполнять ручками? Куда копать? Буду благодарен за ответ
Мне кажется, ты можешь его просто открыть также в консоли и через цикл, пробегаясь по ключам, создавать экземпляры модели и тут же их добавлять. Во всяком случае на данный момент моих познаний о Django хватает только на такой способ
@@lama_instagrama1431 Ну это понятно, хочется узнать, есть ли уже готовые решения
@@armstrong2790 не знаю, но мне тоже интересен данный вопрос
Используй команды джанго
то есть, чтобы изменить ОДНУ запись, нужно использовать фильтр следующим образом:
Women.objects.filter(pk__gt=1, pk__lt=3).update(is_published=0)
?
или все же существуют способы попроще?
w = Women.get(pk=1)
w.is_published = 0
w.save()
@@АлексейАлексеев-ц8х9т , действительно))
спасибо
@@johnmazepa пожалуйста, но Сергей сообщил, что этот способ не очень хорош, тк происходит два запроса к бд вместо одного
Можно в фильтре указать явно нужную строку `Women.objects.filter(pk=2).update(is_published=0)`
а почему вместо такого долгого описания индексов не указывать сразу типа: latitude = models.FloatField(blank=True, db_index=True)
Индексы разные бывают, например primary key, unique, индексы для поиска текста, на сортируемые поля, нужно смотреть в документацию, как какой индекс в джанго, да и ваш способ не может позволить указать индекс по 2-3 полям сразу(так называемый составной индекс)
use get_object_or_404 instead get