Size: a a a

Django [ru] #STAY HOME

2019 December 17

N

Nire in Django [ru] #STAY HOME
lul, толи я дурак, толи гуглить не умею. ниразу не выпадал этот результат
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Rust Saiargaliev
class ObjectOwnershipPermission(BasePermission):
   """DRF permission to check ownership of the object."""

   def has_object_permission(self, request, view, obj):
       return obj.user == request.user


:)
я бы назвал
ObjectOwnerPermission =)
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Да не суть
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Nire
lul, толи я дурак, толи гуглить не умею. ниразу не выпадал этот результат
Ну я его позавчера написал в своем пет-проджекте. Наверное, поэтому не выпадал
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
Andrey 🦉 Kovalchuk
А как там, кстати len у queryset-а реализован? Пойду посмотрю
ууууу, жопа. Так себе процедурка.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Andrey 🦉 Kovalchuk
ууууу, жопа. Так себе процедурка.
По хорошему там райзить ошибку надо :)
источник

ЮІ

Юкіш Іван in Django [ru] #STAY HOME
Andrey 🦉 Kovalchuk
Выборкой из 1ккккк записей, длина массива которых будет вычисляться в памяти =)
не только єто len(queryset) будет вибирать все данние с таблици и потом считать их count. А вот с queryset.count только 1 запрос к базе (Select count from table)
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
Юкіш Іван
не только єто len(queryset) будет вибирать все данние с таблици и потом считать их count. А вот с queryset.count только 1 запрос к базе (Select count from table)
Запрос и там и там 1. Он не будет собирать все данные.
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
Только лишь те, которые в queryset.query запрошены.
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
Но он выберет все объекты, сделает из них итератор и за O(n) (если я верно понимаю) выдаст нам его длину.
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
Или погодите.
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
Тут говорят len(list) O(1). Нужна помощь.
источник

N

N1LEX in Django [ru] #STAY HOME
On
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
"len() works in O(1) time as list is an object and has a member to store its size." https://www.geeksforgeeks.org/find-size-of-a-ist-in-python/
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
То, что len(queryset) выгрузит весь список в память это понятно. А вот за сколько он эту длину посчитает.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Andrey 🦉 Kovalchuk
Тут говорят len(list) O(1). Нужна помощь.
Когда ты сделаешь len(queryset) запрос в бд будет SELECT * from table вместо простого SELECT COUNT(*) from table
источник

AK

Andrey 🦉 Kovalchuk in Django [ru] #STAY HOME
Rust Saiargaliev
Когда ты сделаешь len(queryset) запрос в бд будет SELECT * from table вместо простого SELECT COUNT(*) from table
Это понятно. И это просто. А вот len(queryset) - сколько стоит такая операция?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Andrey 🦉 Kovalchuk
Это понятно. И это просто. А вот len(queryset) - сколько стоит такая операция?
Это о(1)
источник

N

N1LEX in Django [ru] #STAY HOME
Колько и у просто списка
источник

N

N1LEX in Django [ru] #STAY HOME
Кверисте это список вроде
источник