Найти - Пользователи
Полная версия: Рубрика "Чудеса"
Начало » Флейм » Рубрика "Чудеса"
1 2 3
FishHook
Вот так, порой, небольшая ошибка может сломать голову кардинально
class Base(object):
    def dispatch(self, request, *args, **kwargs):
        if request.user.is_superuser:
            return super(Base, self).dispatch(request, *args, **kwargs)
        try:
            p = Plumbing.objects.all()[0].is_closed
            if p:
                self.template_name = "plumbing.html"
        except IndexError:
            pass
        return super(Base, self).dispatch(request, *args, **kwargs)
Здесь
p = Plumbing.objects.all()[0].is_closed
я забыл вызвать метод, то есть было
p = Plumbing.objects.all()[0]
if p:
И тогда наблюдаем удивительную вещь
p = Plumbing.objects.all()[0]
print p
if p:
    Условие выполняется
p = Plumbing.objects.all()[0]
if p:
    А без принта не выполняется :)
на моей и так лысой бошке сегодня конкретно уменьшилось волос
bw
Вот из последнего, к счастью обошлось без облысения:
for item in useful_container:
    #...
    if something in useful_container:
        """..."""
    #...
Если `useful_container` окажется итератором, желательно с неопределённым порядком, будут перечислены не все элементы.

..bw
py.user.next
FishHook
я забыл вызвать метод, то есть было
какой метод ? там только обращение к атрибуту
FishHook
py.user.next,
Да, Вы правы, я неверно выразился.
py.user.next
FishHook
И тогда наблюдаем удивительную вещь
так а в чём вещь-то ? как print влияет на p ?
sergeek
py.user.next
так а в чём вещь-то ? как print влияет на p ?
__str__ меняет атрибуты, ипользуемые __bool__'ом - очевидно же
py.user.next
sergeek
__str__ меняет атрибуты, ипользуемые __bool__'ом - очевидно же
это ещё зачем ?

во втором питоне нет __bool__
bw
Зато есть __nonzero__, суть та же.

..bw
PooH
sergeek
__str__ меняет атрибуты, ипользуемые __bool__'ом - очевидно же
Ад
bismigalis
sergeek
__str__ меняет атрибуты, ипользуемые __bool__'ом - очевидно же
это вряд ли, скорее в действии lazyness

что возвращает эта конструкция?
FishHook
Plumbing.objects.all()[0]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB