@pydjango

Страница 1167 из 1273
Bogdan
11.04.2018
12:57:47
подскажите 'allauth', 'allauth.account', 'rest_auth', 'rest_auth.registration'так подключены приложения. откуда лезет модель SocialAccount, если allauth.socialaccount не подключен? я его хочу сам определить и из-за коробочного возникает каша: Reverse accessor for 'SocialAccount.user' clashes with reverse accessor for 'SocialAccount.user'.

PaCifiC
11.04.2018
14:27:40
есть следующий запрос POST /question/ который принимает этот json { "name": "", "answer1": null, "answer2": null, "answer3": null, "answer4": null, "answer5": null } Как я могу в логике сделать запрос чтобы добавить данные? Знаю что с reverse, не пойму как конкретно реализовать

Dan
11.04.2018
14:28:44
я бы ансвер в массив загнал =)

{ name: '' answers: [ null, null, null ] }

Google
Suren
11.04.2018
15:46:48
Привет Хочу хранить некий кэш на стороне сервера. Так понимаю, это можно делать в сессии. Сделал класс с кэшем и необходимыми мне методами, но джанга ругается, что не JSON serializable. Каким способом лучше это сделать? объявить у объекта метод __dict__? А как будет потом возвращаться к виду объекта? пока нашел вот это, но не пойму пока, как использовать правильно их энкодер https://docs.djangoproject.com/en/2.0/topics/serialization/#serialization-formats-json или есть более корректные способы хранить кэш?

Николай
11.04.2018
15:48:12
Ну можно в json сделать и хранить в кэше

Или же сохранить модельку в памяти, не помню точно название

Dan
11.04.2018
15:48:33
хранить данные модели в сесии думаю не лучшее решение

Suren
11.04.2018
15:48:40
Ну можно в json сделать и хранить в кэше
ну и вопрос как *правильнее* генерировать джсон

хранить данные модели в сесии думаю не лучшее решение
это не модель объекта из базы данных, если ты про это

Dan
11.04.2018
15:49:13
да про это

Dan
11.04.2018
15:50:09
просто то что ты прислал это сериализатор объектов модели

Suren
11.04.2018
15:51:21
Json.dumps()
так я про то, что мой объект не сериализируемый вот и спрашиваю, как правильно сделать его таковым (по сути, нужные данные сериализовать как нечего делать) я могу, конечно, хранить в сессии словарики с этими данными, а по надобности инициалихировать из них объект и работать с ним, но уверен, что есть корректный способ сделать объект сериализируемым

Николай
11.04.2018
15:52:02
В словарь и json

Google
Suren
11.04.2018
15:52:08
просто то что ты прислал это сериализатор объектов модели
вот его как правильно сделать? просто объявить метод __dict__? и как потом из него будет объект обратно собираться? или как-то иначе надо? или вообще кэш не в сессии хранить?

Николай
11.04.2018
15:52:14
Это 1 из вариантов

А про сериализацию я мало знаю, сам бы почитал

Dan
11.04.2018
15:53:15
кешируемые данные только для одного пользователя ?

или для всех ?

Suren
11.04.2018
15:53:37
кешируемые данные только для одного пользователя ?
скажем, если будет 2 посетителя, то нужно, чтобы уникальный кэш был у каждого

Dan
11.04.2018
15:53:58
объем большой ?

Suren
11.04.2018
15:54:12
нет, три сета по 10-20 айтемов

там скорее дело в самих методах класса)

повторюсь, мне не сложно сделать у класса методы загрузки из словаря и обратно в него или вообще методы отдельно вынести и работать так просто стало интересно, как правильно сделать объект сериализируемым

Dan
11.04.2018
15:57:17
думаю правильнее описывать руками

Suren
11.04.2018
15:58:06
окей, тогда сделаю ему методы типа dump и load

Николай
11.04.2018
16:00:34
@dantyan где про сериализацию почитать, сталкивался а не знал что делать

Не знаешь?

Dan
11.04.2018
16:02:26
честно говоря не знаю для сериализации моделей можно прикрутить drf

Suren
11.04.2018
16:03:11
честно говоря не знаю для сериализации моделей можно прикрутить drf
я много разых либ нагуглил, пока по теме искал

Dude
11.04.2018
16:06:47
авторизованы 3 пользователя, каким менеджером возможно выводить информацию из модели о конкретном пользователе, который делает запрос?

Dan
11.04.2018
16:07:58
вопрос не совсем понятен

Dude
11.04.2018
16:09:31
ммм, сейчас по другому попробую сделать.

Google
Dude
11.04.2018
16:11:37
https://dpaste.de/vB1U Как мне в другой аппе например вызвать функцию у этой модели, чтобы были отданы данные именно по пользователю, который сделал запрос. Я так понимаю она вернет мне вообще все

или мне в request передавать его имя и чекать по этому параметру ?

Dan
11.04.2018
16:14:36
"другой аппе" это совсем не джанго ?

и как она обращается к джанго ?

Dude
11.04.2018
16:15:22
другая аппа тоже джанга

Dan
11.04.2018
16:15:46
эта же или стоит отдельно ?

к твоей как обращается ?

Dude
11.04.2018
16:16:06
from users.models import User

вот так например

мне во вьюхе другого апликейшна надо вызвать функцию модели

Dan
11.04.2018
16:17:05
у тебя в запросе если пользователь авторизован уже есть объект пользователя

Dude
11.04.2018
16:17:47
я могу вывести из запроса инфу о пользователе ?О_о

Dan
11.04.2018
16:18:26
ты можешь делать request.user если в модели User есть метод some_method то можешь вызывать request.user.some_method()

да

я тебе об чем и говорю говорю

Dude
11.04.2018
16:19:02
Понял, спасибо

def mgid_api(request): mgid = Mgid(request.user.return_token_idauth()[0], request.user.return_token_idauth()[1] ) Мне пизды за такой код не дадут ?

Dan
11.04.2018
16:22:53
дадут

Dude
11.04.2018
16:23:21
вынести аргументы в переменные ?

Dan
11.04.2018
16:24:26
кстати можно делать так pair = [self.mgid_token, self.mgid_idauth] return pair

Google
Dan
11.04.2018
16:24:38
return self.mgid_token, self.mgid_idauth

он правда вернет не массив а кортеж

Lazoreth
11.04.2018
16:25:32
Блин. Как в форме вытащить аттрибут обьекта?

Dan
11.04.2018
16:25:46
во вторых можно сделать @property def return_token_idauth(self):

Lazoreth
11.04.2018
16:25:48
А, через str обьекта наверное

Dan
11.04.2018
16:27:03
def mgid_api(request): if request.user.is_authenticated: mgid = Mgid(request.user.return_token_idauth[0], request.user.return_token_idauth[1] )

ну и по хорошему бы да вынести в переменную

Lazoreth
11.04.2018
16:27:50
class CarListForm(forms.ModelForm): choices = {"На обслуживании": True, "Не обслуживается": False} owner = forms.ModelChoiceField(queryset=Client.objects.all(), widget=forms.HiddenInput) auto = forms.ModelChoiceField(queryset=Auto.objects.all()) sim = forms.ModelChoiceField(queryset=Sim.objects.all(), widget=forms.HiddenInput) controller = forms.ModelChoiceField(queryset=Controller.objects.all(), widget=forms.HiddenInput) #billingform = forms.ChoiceField(choices=choices) class Meta: model = Car fields = ['owner', 'auto', 'sim', 'controller', 'billingstate'] ClientCarsForm = modelformset_factory(Car, form=CarListForm)

Dude
11.04.2018
16:27:58
да у меня там декортаор логин реквайр

Lazoreth
11.04.2018
16:28:07
https://i.imgur.com/oibF2eU.png Как сделать что бы можно было отобразить без выбора?

Dan
11.04.2018
16:28:15
да у меня там декортаор логин реквайр
ну тогда да услови не нужно

Lazoreth
11.04.2018
16:29:37
что должно быть вместо селектов ?
Просто отображение обьекта. Что бы был не селект а просто надпись

Dan
11.04.2018
16:30:09
зачем делать селект и его скрывать почему не сразу в HiddenField owner = forms.ModelChoiceField(queryset=Client.objects.all(), widget=forms.HiddenInput)

Lazoreth
11.04.2018
16:30:15
Я сделал формфактори что бы можно было состояние на нескольких обьектах менять, но теперь не могу прикрутить адекватное отображение. Через циклы с отдельной формой в шаблонизаторе не вышло =\

Мне нужно вывести список машин и что бы одна только галочка была по сути

Dan
11.04.2018
16:30:38
это же админка ?

Lazoreth
11.04.2018
16:30:46
Нет

Dan
11.04.2018
16:30:54
почитай как сделать read_only поля

Google
Dan
11.04.2018
16:31:12
выводи просто текстом

Lazoreth
11.04.2018
16:31:15
Это в формах?

выводи просто текстом
Я не совсем отдупляю как это всё на страницу красиво передать если форму отдельную сделать а текст отдельно списком через вьюху

Решил что проще будет форму сделать

Dan
11.04.2018
16:33:20
попробуй сделать TextField c disabled=True

Lazoreth
11.04.2018
16:35:39
textfield с queryset не работает же

Там прикол в том что надо 10-20 обьектов передать на страницу, а я чёт не понимаю как их в форму грамотно отправить из вьюхи, по этому вытаскиваю их через pk

disabled=True вроде работает, спасибо

А блин, виджет textfield

Точно, с виджетами поигратся. Спасибо!

А можно как-то в форму передать аргументы?

Долго страница рендерится изза того что queryset=objects.all()

Николай
11.04.2018
17:09:49
В модели оно быстрее в любом случае

Сделай фильтры на модель

Lazoreth
11.04.2018
17:11:23
Да я вот и не знаю как там фильтры прописать

Там нужно что то вроде owner = get_object_or_404(Client, pk=client_id)

Откуда там client_id взять?

Можно как-то вообще к аттрибуту обьекта обратится из формы? все car привязаны к client через foreignkey

Николай
11.04.2018
17:12:50
В. Просто передавай не objects.all() а objects.filter(id='idvalue')

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