@pydjango

Страница 444 из 1273
Hot
12.08.2017
05:56:21
А в чём принципиальная разница между TestCase.assertEqual и TestCase.failsIfNotEqual?

Alexey
12.08.2017
06:16:12
суббота день работа....

Sergey❄️
12.08.2017
10:03:23
А можно сделать default value для IntegerField как инкримент (значения из последней строки)?

Google
Oleg
12.08.2017
10:15:38
А подскажите пожалуйста, как в менеджере модели можно переопределить методы так, чтобы у них было разное количество аргументов?

Oleg
12.08.2017
10:17:28
При таком раскладе старый метод останется

Или может я что-то неправильно думаб

Сергей
12.08.2017
10:18:59
А старый метод нужен?

Sergey❄️
12.08.2017
10:19:05
models.AutoField не?
https://stackoverflow.com/questions/18541886/how-do-i-get-a-default-value-for-a-field-that-usually-increments-in-django Вроде такое

Oleg
12.08.2017
10:19:30
Просто идея такая, что хочу сделать менеджер, который обязательно должен принимать юзера для проверки, можно ли выдать инфу или нет

Вот и не знаю, как это сделать

Denis
12.08.2017
10:20:10
При таком раскладе старый метод останется
Попробуйте конкретизировать свою задачу

Сергей
12.08.2017
10:21:41
А это точно в менеджере делается?

Sergey❄️
12.08.2017
10:21:50
models.AutoField не?
Этого будет достаточно к исходной базе прикрутить? Там все по порядку идет

Denis
12.08.2017
10:23:36
Просто идея такая, что хочу сделать менеджер, который обязательно должен принимать юзера для проверки, можно ли выдать инфу или нет
Ну так в чем проблема? Используйте super внутри метода, чтобы сохранить логику родительского

Google
Denis
12.08.2017
10:23:54
А это точно в менеджере делается?
А вот это хз... Не уверен

Oleg
12.08.2017
10:24:43
Ну, наверное) просто у каждой записи в таблице есть её уровень доступа, а у юзера есть права. Запросов на эти записи будет очень много, фильтровать каждый раз - не django путь

Denis
12.08.2017
10:25:42
Я ж хз какая у него задача, молчит как партизан

Этого будет достаточно к исходной базе прикрутить? Там все по порядку идет
Почитайте документацию. В любом случае не узнаете, пока не попробуете)))

Oleg
12.08.2017
10:25:48
По сути да, но вот старые методы останутся, которые и разрешат доступ без пользователя к любым данным

Sergey❄️
12.08.2017
10:26:40
Denis
12.08.2017
10:27:37
Да я открыл, а там 1.5 пункта про options
Ну так тем более, кто вам мешает попробовать?

Sergey❄️
12.08.2017
10:27:57
Denis
12.08.2017
10:29:07
По сути да, но вот старые методы останутся, которые и разрешат доступ без пользователя к любым данным
Для таких случаев обычно используют декораторы... И на уровне вьюхи, миддлвари, но не менеджера модели

Не за ПК ещё :)
Сам с телефона

Sergey❄️
12.08.2017
10:57:20
Сам с телефона
Спасибо, то что нужно оказалось

Oleg
12.08.2017
11:09:57
Да, я думал о декораторах, но из-за того, что методы менеджера генерятся динамически, то даже не знаю, как их применить

А миддлвари как использовать? Может есть какая документация по тому, как они работают и как их кастомизировать?

Denis
12.08.2017
11:13:47
Да, я думал о декораторах, но из-за того, что методы менеджера генерятся динамически, то даже не знаю, как их применить
Я всё равно не понимаю при чём тут методы менеджера модели, Если Вам нужен пользователь из реквеста

Или вы неправильно задачу объясняете

Попробуйте конкретно её объяснить без абстракций

Oleg
12.08.2017
11:18:00
Ну, суть в том, что таблиц где у элементов права доступа - очень много. По сути, чтобы юзеру выдать только ту информацию, которую можно, нужно делать что-то типа Model.objects.filter(...).filter(access="wtf")

Вот хочется сделать такой менеджер, чтобы второй фильтр не пришлось приписывать

Google
Oleg
12.08.2017
11:18:46
Хотя, я кажется понял

Мне нужно сделать свой QuerySet для такой задачи, верно?

И в нём будут методы all, filter и т.д. с обязательным запросом юзера

Denis
12.08.2017
11:21:30
Почему нельзя в одном фильтре проверить Ваш access?

Oleg
12.08.2017
11:22:46
Потому что если я где-нибудь это действие пропущу - будет выдаваться то, что не должно. Плюс мало ли, кто после меня будет копаться

Denis
12.08.2017
11:23:39
Ну вам же в любом случае в аргументах нужен будет юзер?

Oleg
12.08.2017
11:24:19
Да, но было бы клёво, если он был бы обязательным аргументом

Что без указания прав этого юзера я выборку произвести не смогу

Denis
12.08.2017
11:24:58
Обязательным для чего?

Oleg
12.08.2017
11:25:17
Для фильтра

Denis
12.08.2017
11:25:42
Для .all, filter ?

Oleg
12.08.2017
11:25:57
Да

Denis
12.08.2017
11:26:10
Не нужно так делать

Oleg
12.08.2017
11:27:07
А как тогда лучше?

Просто иначе я могу просто допустить ошибку и потом я её уже не найду. Или после меня кто-нибудь допустит ошибку

Denis
12.08.2017
11:29:41
Создайте отдельный метод в своем кастомном менеджере типа access_by_user(user) и фильтруйте себе на здоровье.. а когда нужно вызывайте Model.objects.access_by_user(user).filter...

Oleg
12.08.2017
11:33:04
Хорршо, спасибо) видимо, после джавы осталось непреодолимое желание везде ограничить доступ

Denis
12.08.2017
11:37:42
И уж если так охота переопределить filter менеджера, то проверяйте что то типа if not 'user' in kwargs: raise...

Но в эксепшене обязательно напишите, что не хватает аргумента юзера и зачем. А то ж забудете)))

Google
Oleg
12.08.2017
11:58:06
Ага, спасибо)

Тесты - да) а если не я буду дописывать

Dmitriy
12.08.2017
12:02:36
Oleg
12.08.2017
12:03:54
Ну, не знаю) зачем мучиться и искать ошибку в тестах, если можно её избежать

Dmitriy
12.08.2017
12:05:53
Ну, не знаю) зачем мучиться и искать ошибку в тестах, если можно её избежать
Есть мнение, что тесты помогают избегать кирпичей и улучшают ваш сон.

Ahmed
12.08.2017
12:15:56
Прошу прощения за тупой вопрос, но не знаю как гуглить его)) Мой вебсервер возврощает мне такой ответ: "POST /youtube/results/ HTTP/1.1" 301 0 Что в конце этого ответа обозначает цифра 0?

Oleg
12.08.2017
12:18:33
Я же не спорю против тестов, я к тому, что ошибка на тестах не покажется, так как она логическая

Admin
ERROR: S client not available

Ahmed
12.08.2017
12:19:34
странно однако)

Максим
12.08.2017
13:05:35
Привет всем. Создаю свой класс User по примеру из официальной документации Код оставлю ниже При попытке через shell создать объект этого класса командой s = User.objects.create('nrjshka@gmail.com', 'password','Maxim', 'Korolev', datetime.now(), 'Rybinsk') Выдает следующую ошибку (фото оставлю ниже) P.S. Испробовал словари, кортежи и списки - ничего не помогает.







С чем это может быть связано?

Ilgiz
12.08.2017
13:29:57
Максим
12.08.2017
13:30:50
Eue

Google
Максим
12.08.2017
13:30:51
Угу

Так и решил

Mike
12.08.2017
14:06:57
как сделать в блоге "read more"? Хотелось бы чтобы кнопка "read more" была перед завершающим предложением, к примеру после десятого предложения. Как реализовать это? в моделе метод сделать?

В моделе можно укоротить ну типо сплитить , срезать .....

или ....

Максим
12.08.2017
14:09:43
Почему-то не работают токены в django

Вот код

Первый класс

Второй класс

Выводит список пользователей через django-rest-api

from rest_framework import viewsets from .serializers import * from society.models import User class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer

Вот сериалайзер: class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = [ 'username', 'password', ]



Выводит пользователей

Но при попытке создать токен через obtain_jwt_token выдает следующее(хотя все данные подходят):



о этого тестировал с базовым классом и все получалось(с тем же кодом)

Использую obtain_jwt_token

Т.е. он же должен работать для базового класса

А я его переопределил

AUTH_USER_MODEL = 'society.User'

Oleg
12.08.2017
14:44:29
Подскажите пожалуйста, что делает related_name и как оно работает?

Страница 444 из 1273