@pydjango

Страница 1189 из 1273
Евгений
17.04.2018
19:17:43
Если пустая строка, то что?) скорее всего из-за этого и ошибка
Да в том то и дело, что она не пустая, все поля обязательные для заполнения. Форма валидна и полностью заполнена. Обьект модели создался, но в админке всё равно не хочет из-за этого индекса чертового показываться.

Евгений
17.04.2018
19:18:52
Глупость, на самом деле. Просто хотел чтобы показывалось фамилия и имя, но не полностью. Не критично ниразу, больше цепляет в чем проблема.

Google
Eugene
17.04.2018
19:21:29
IndexError. string index out of range?



походу где-то у тебя пустая строка

Евгений
17.04.2018
19:24:19
Кстати... Друзья, в таком случае у меня есть другой вопрос. Скорее всего таки есть, но я не знаю как это исправить. У меня вместе с нужным мне обьектом покупателя где то "за кулисами" создается еще один, пустой. Опять же не совсем понимаю почему. Код вьюхи можно показать?)

https://dpaste.de/aQ6Y

Как я понимаю, проблема в 3-4 строке, но не совсем понимаю в чем она конкретно выражается. Может глупость написал, но с точки зрения пайтона вроде правильно.

Как я понимаю, вместо одного обьекта - создается 2.

Примерно схожая ситуация, есть у меня с еще одной вьюхой. Там я придерживаюсь примерно такой же логики при работе с сессиями. Либо у меня логика не правильная, либо я чего то не знаю/не понимаю в работе джанго. Потому что с данной вьюхой возникакет такая же проблема, иногда(именно иногда!) она создает много пустых корзин, при загрузке/обновлении страницы. Сколько я не пытался понять закономерность - не выходит. Вот код, собственно: https://dpaste.de/f42G

Там со 2 по 7 строку интересующий меня код. Был бы очень признателен, если бы кто то из более опытных и знающих людей подсказал, что я делаю не так.

Гайс, хоть напишите кто то что я задаю слишком глупые вопросы и мне нужно идти читать доки... А то это мой 3ий вопрос в данном канале, и его настигает судьба предыдущих. Гробовая тишина... †

Скрудж
17.04.2018
19:49:14
Учи матчасть

amureki
17.04.2018
20:01:11
https://dpaste.de/aQ6Y
Тут много вопросов возникает В целом, сначала подумай, если ты делаешь 1к1 карт и кастомера, почему бы при создании кастомера (ибо он же главная модель?) не создавать заодно и карт (переопределяешь у одной модели save метод, в нем пишешь создание инстанса второй связанной модели) Ты говорил что форма валидна и все поля обязательны, а сам делаешь Customer.objects.create() - где происходит попытка создания кастомера вообще без всего, очевидно оно фейлится и на стр методе - данных то нет if not hasattr(cart, 'customer'): - лишнее, достаточно просто if not cart.customer - но смотри мой первый коммент, такой ситуации типа не должно быть, если ты в структуре бд говоришь что у тебя каждому кастомеру будет относиться своя корзина Ну и так далее

Стоит подтянуть модели, их поля, связи Возможно посмотреть если есть туториалы или исходные коды магазинов на джанге, чтоб подсмотреть что-то

Google
Евгений
17.04.2018
20:08:02
Тут много вопросов возникает В целом, сначала подумай, если ты делаешь 1к1 карт и кастомера, почему бы при создании кастомера (ибо он же главная модель?) не создавать заодно и карт (переопределяешь у одной модели save метод, в нем пишешь создание инстанса второй связанной модели) Ты говорил что форма валидна и все поля обязательны, а сам делаешь Customer.objects.create() - где происходит попытка создания кастомера вообще без всего, очевидно оно фейлится и на стр методе - данных то нет if not hasattr(cart, 'customer'): - лишнее, достаточно просто if not cart.customer - но смотри мой первый коммент, такой ситуации типа не должно быть, если ты в структуре бд говоришь что у тебя каждому кастомеру будет относиться своя корзина Ну и так далее
Еще хотел уточнить, если можно. Со второй вьюхой такая же проблема выходит? Просто я пробовал в shell сначала всё прописывать, вроде работало так как должно(именно что касается извлекания id из сессии). Или проблема может быть в самих сессиях(опять же, что то не так задал)?

amureki
17.04.2018
20:18:55
По второй - там как-то навалено не аккуратно сейчас, я не смотрел Вообще, изучаем pdb - мастхев штука для любого пайтон разработчика Кидаем брейкпоинт сразу в начале функции и по шагам идем по каждой строчке и смотрим контекст, что есть, чего нет, где что не отрабатывает Полезные ресурсы про это https://medium.com/instamojo-matters/become-a-pdb-power-user-e3fc4e2774b2 https://github.com/spiside/pdb-tutorial

Алексей
17.04.2018
20:41:00
Почему когда в модели все поля буля false, возвращается nonetype, вместо обьекта с полями false, но если хоть один тру то все работает (rest framework)?

Николай
18.04.2018
04:24:09
Если ты отправляешь через форму, то, если false, он вероятно не назначает в запрос переменную и значение. Соответственно если отправляется пустой (всё переменные в false) пост или гет, то может приходить пооностью пустой ответ. Вероятно, у тебя именно такая проблема и нет обработки этой ситуации

Dan
18.04.2018
04:28:35
пинг

Константин
18.04.2018
04:29:22
ping

serbernar
18.04.2018
04:30:26
Понг

Понг

Dan
18.04.2018
04:30:36
мне тут сказали что меня заблокировали в публичных группах поэтому проверяю

Dan
18.04.2018
04:35:22
https://t.me/PythonBishkek

тут локальный

Sulik
18.04.2018
05:02:15
Понг
вы чё, ребят - на подводной лодке работаете? ПИНГ - акустический удар. ПОНГ - вернулся отражённый сигнал от вражеской подлодки. Дальше что? Торпедный залп? -Затопить торпедный аппарат номер четыре! -Так точно! -Приготовить огневое решение! -Огневое решение готово...

Ilgiz
18.04.2018
05:04:01
плохая шутка

serbernar
18.04.2018
05:04:13
Очень



Google
Александр
18.04.2018
05:06:29
Пинг-понг это же настольный теннис

Sulik
18.04.2018
05:06:51
Тут многие в IDE работают? Я слышал что это вредит навыкам. Стоит ли перейти обратно на обычный текстовый редактор?

Dan
18.04.2018
05:06:55
пологаю что есть игра пинпонг есть устаявшаяся команда ping созвучный с первым слогом игры ну и ответ соответсвенно

Sulik
18.04.2018
05:08:26
чем вредит ?
IDE многое делает за вас - проверка на ошибки, переход, импорты, автозаполнение по желанию et cetera et cetera. Потом программист многое забывает

Или нет?

Dan
18.04.2018
05:09:36
ну тогда да... надо на обычные радакторы переходить

Александр
18.04.2018
05:11:46
Вообще лучше сразу скомпилированный .pyc писать, зачем эти исходники...

Alexander
18.04.2018
05:12:03
с этим вашим гуглом люди библиотечной картотекой разучились пользоваться)

Ilgiz
18.04.2018
05:12:03
IDE многое делает за вас - проверка на ошибки, переход, импорты, автозаполнение по желанию et cetera et cetera. Потом программист многое забывает
Ну если ты не занимаешься спортивным программированием, то мне кажется ide как раз таки придумали что б упрощять

Alexander
18.04.2018
05:12:41
выключайте гугл, читайте книги) в библиотеках)

IDE созданы для удобства программиста)

Ilgiz
18.04.2018
05:13:04
без интернета кодить:D

Sulik
18.04.2018
05:13:24
На зачем же до абсурда-то) но, Дэн натолкнул на идею - время от времени стоит переходить на sublime к примеру, а потом возвращаться к JetBrains

Какао
18.04.2018
05:13:39
Или на вим

Alexander
18.04.2018
05:13:40
программирование крупных проектов без IDE невозможно)

а если проект из 10-20 файлов - да как угодно можно)

Ilgiz
18.04.2018
05:14:22
На зачем же до абсурда-то) но, Дэн натолкнул на идею - время от времени стоит переходить на sublime к примеру, а потом возвращаться к JetBrains
пользуюсь пайчармом или вебштором только из-за того что можно смотреть кто запушал говно код и переходить к методу через command + click

Sulik
18.04.2018
05:15:15
Или на вим
Фига себе ты суровый. Я всего месяц назад узнал как из него выйти - надо всего лишь перезагрузить пк

Google
Sulik
18.04.2018
05:16:36
нано

А нам вообще можно так переписываться? Может есть флудилка отдельная?

Sulik
18.04.2018
05:18:38
Круто)

Алексей
18.04.2018
05:18:39
@sulikdada а вообще, был где то доклад, где чел из яндекса объяснял, что реально необходимо делать, для того, чтобы рос навык программирования, а не копипаста.

Сергей
18.04.2018
05:18:53
мне кажется программист хороший должен быть больше архитектор чем писатель) в этом и помогают IDE

Ilgiz
18.04.2018
05:19:00
ну это фича же не пишарма. Пользуйся гитом из консоли
я про графф интерфей в котором кусок кода можно смотреть кто пушал когда и какой коммит

Алексей
18.04.2018
05:19:04
там он объяснял, что по хорошему - должны быть открыты ссылки только на документации.

я про графф интерфей в котором кусок кода можно смотреть кто пушал когда и какой коммит
ну это тоже гита фича)) из консоли тоже можно посмотреть...не так явно но все же

Sulik
18.04.2018
05:19:33
Ой ё. Дэн, сорри что инициировал такую лютую дискусию?

Ilgiz
18.04.2018
05:19:45
удобство

Алексей
18.04.2018
05:20:15
блин, прости)) думал это ты против IDE)

Sulik
18.04.2018
05:20:29
Я не против, блин!

Ilgiz
18.04.2018
05:20:30
пуши мержи там через консоль удобней

Sulik
18.04.2018
05:20:47
Я просто говорю что стоит чередовать с простым редактором

Алексей
18.04.2018
05:21:05
не знаю, мне удобней когда все в 1 окне и 1 программе...а то куча окон раздражает сильно

Google
Алексей
18.04.2018
05:22:03
аргументы?

ты в любом случае не будешь знать весь функционал того или иного фреймворка или библиотеки. Их слишком много. Писать нормальный код, используя паттерны и разделение логики и прочих штук - ни одна IDE не поможет. Как и не помешает научиться.

В настоящее время главное уметь хорошо пользоваться документациями и инструментами дебага (не зря же их придумали), чтобы сокращать время разработки. А в голове у тебя все равно всегда будет находится текущий контекст тех данных, с которыми ты работаешь. Попробуй год не работать на django - увидишь как тяжело потом начинать заного.

Sulik
18.04.2018
05:25:01
Это да. У меня неделя ушла на разбор чистой архитектуры, моск вскипел просто

Алексей
18.04.2018
05:25:29
так что не нужно заниматься фигней. IDE стала неотъемлемой частью программирования.

самого процесса*

не вижу ни одного плюса от того, чтобы мне сейчас переключиться, хотя бы и временно, на написание проекта с помощью Notepad++ допустим. Только минусы. И самым главным будет - потеря времени.

Eugene
18.04.2018
05:35:16
?может только пригодится, научится пользоватся shell(можно прям в pycharm) и команды Линукс,

serbernar
18.04.2018
05:36:54
Заного

Ahmed
18.04.2018
06:27:07
Кладу в редис данные с ключем “data”, добавил в настройке префикс cache_, по сути при обращение к ключу я должен так cache_data, но в редисе ключ лежит вот так cache_:1:data Как убрать эту строку “:1:”? CACHES = { 'default': { 'BACKEND': 'redis_cache.RedisCache', 'LOCATION': 'redis://{}:{}/14'.format(REDIS_HOST, REDIS_PORT), 'KEY_PREFIX': 'cache_', }, } Использую эту библиотеку https://niwinz.github.io/django-redis/

Lazoreth
18.04.2018
06:52:06
Блин, я спрашивал уже, но может кто-то всё-таки знает? Почему если упаковывать в zip формсет и ещё какой-то список - валидация не работает?

Lazoreth
18.04.2018
06:52:43
Точнее вообще если выводить формсет через for цикл то валидация не срабатывает

Бедааа

Eugene
18.04.2018
06:54:07
А ты валидацию вывел?

Dan
18.04.2018
06:54:08
Бедааа
а как ты зипуешь форму ?

Lazoreth
18.04.2018
06:54:46
Да я даже если просто передаю formset в шаблон и вывожу его не через {{ formset }} а через цикл for он всё равно не валидируется

Ошибки нет, просто is.valid() False

Dan
18.04.2018
06:55:13
значит что то не указываешь

Lazoreth
18.04.2018
06:55:36
{{ form_management }} стоит

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