Size: a a a

Django [ru] #STAY HOME

2019 November 20

AK

Anvar Khamidov in Django [ru] #STAY HOME
В чем может быть проблема?
источник

V

Valera in Django [ru] #STAY HOME
Привет. Объясните пжлст, в чем конкретно заключается суть метода only() для queryset'ов? В доке написано, как им пользоваться и разницу между deffer(), но конкретно на практике, когда его стоит использовать?
источник

Н

Никита in Django [ru] #STAY HOME
Anvar Khamidov
В чем может быть проблема?
libgdal1h просит поставить, попробуй явно поставить
источник

AK

Anvar Khamidov in Django [ru] #STAY HOME
В другом проблема была, нужно было добавить Репозиторий для скачивания в source.list.d/pgdg.list
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Valera
Привет. Объясните пжлст, в чем конкретно заключается суть метода only() для queryset'ов? В доке написано, как им пользоваться и разницу между deffer(), но конкретно на практике, когда его стоит использовать?
defer нужен, если у тебя естьк какие-нибудь большиие данные, какой-нибудь блоб с картинкой, но он возможно не потребуется. Тогда джанга сходит за ним в базу, когда надо будет.
А only - это явное перечисление тех полей, который тебе нужны будут сразу.
источник

V

Valera in Django [ru] #STAY HOME
вот что понимается под этим "сразу"?) эти поля быстрее достанутся из бд, чем остальные?
источник

p

pavel in Django [ru] #STAY HOME
как мне написать что то типо такого тайпинга?

def get_queryset(self) -> QuerySet(SomeModel)
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Valera
вот что понимается под этим "сразу"?) эти поля быстрее достанутся из бд, чем остальные?
str(models.Company.objects.only('name').query)
Out[25]: 'SELECT "main_company"."id", "main_company"."name" FROM "main_company"'

да, будут выбраны только эти поля. За остальными джанга пойдёт в базу ещё раз
источник

p

pavel in Django [ru] #STAY HOME
def get_queryset(self) -> QuerySet[SomeModel]
def get_queryset(self) -> "QuerySet[SomeModel]"

на такие варианты ругается
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Valera
вот что понимается под этим "сразу"?) эти поля быстрее достанутся из бд, чем остальные?
т.е.
defer - "мне нужны все поля, кроме этих"
only - "мне нужны только эти поля"
источник

p

pavel in Django [ru] #STAY HOME
pavel
как мне написать что то типо такого тайпинга?

def get_queryset(self) -> QuerySet(SomeModel)
на такой вроде нет, щас проверю
источник

V

Valera in Django [ru] #STAY HOME
Pavel Zagrebelin
str(models.Company.objects.only('name').query)
Out[25]: 'SELECT "main_company"."id", "main_company"."name" FROM "main_company"'

да, будут выбраны только эти поля. За остальными джанга пойдёт в базу ещё раз
вроде стало понтяно) спасибо 🙌🏻
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Valera
вроде стало понтяно) спасибо 🙌🏻
values/values_list делают примерно тоже самое, что и only, только only отдаёт джанго-модель, с которой можно делать что-угодно (в том числе получить недостающие поля), a values - голые значения полей в туплах/диктах.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
кто-нибудь знает как можно сделать dumpdata из таблиц начинающихся на django_?
источник

M

Marsel in Django [ru] #STAY HOME
ребят , как грамотно отсортировать словарь с вложенными словарями , чтобы из него потом сформировать строку :
"{key1:{key3:val3},key2:val2,key4:val4}"
?
источник

АА

Адилет Асанкожоев in Django [ru] #STAY HOME
Сортировать словарь?
источник

V

Valera in Django [ru] #STAY HOME
Подскажите еще с один момент пожалуйста.
Для того, чтобы не создавать каждый раз тестовую БД, я использую флаг --keepdb при запуске тестов. В дальнейшем, когда я хочу запустить снова тест и использовать уже сущетсвующую БД, мне мешает переопределенный метод setup_databases(), который вызывает создание тестовых моделей. Мне пишет, что такие модели уже сущетсвуют.
Есть ли какой-то вариант игнорировать переопредленный метод setup_databases() при запуске тестов с флогом --keepdb?
источник

M

Marsel in Django [ru] #STAY HOME
ну типа стоит задача преобразовать json в строку.
тип обьекта после применения json.loads(request.body.encode()) есть не что иное , как словарь
при конкатенации "ключ=значение" необходимо чтобы ключи были в алфавитном порядке.
задача усложнена тем, что присутствуют вложенные словари в исходный словарь (их ключи также требуется отсортировать)
источник

Ш

Шерзод in Django [ru] #STAY HOME
Переслано от Шерзод
Доброго времени суток. Вопрос по Django. Почему formset выводит 2 поля когда у него всего 1 поле?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Шерзод
Переслано от Шерзод
Доброго времени суток. Вопрос по Django. Почему formset выводит 2 поля когда у него всего 1 поле?
добавь в настройки формсета extra=0 и он не будет выводить пустую строку
источник