Size: a a a

Django [ru] #STAY HOME

2019 November 23

II

Ivan Ivanov in Django [ru] #STAY HOME
сформулируй вопрос .. более человечно - тоесть так чтобы /ТЫ понял что ты хочешь .. и вопрос решиться сам собой
источник

Ю

Юрий in Django [ru] #STAY HOME
nefalem
Обычный класс  типа class class_name(object): def def_name(self): do something
Management command может тебе надо
источник

n

nefalem in Django [ru] #STAY HOME
Юрий
Management command может тебе надо
Спасибо погуглю
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
nefalem
Обычный класс  типа class class_name(object): def def_name(self): do something
писал недавно скрипт, нужен был доступ к ORM, нашел код, который позволяет подзагрузить окружение джанги.

https://gist.github.com/Ingco/b9b618efe766ccd540bf3181fee7a32a

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

n

nefalem in Django [ru] #STAY HOME
Artem Gubatenko
писал недавно скрипт, нужен был доступ к ORM, нашел код, который позволяет подзагрузить окружение джанги.

https://gist.github.com/Ingco/b9b618efe766ccd540bf3181fee7a32a

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

n

nefalem in Django [ru] #STAY HOME
Такой вопрос еще, допустим обращаюсь к сторонему сервису и получаю от него ответ ввиде словаря, вытаскиваю оттуда значения
Потом пытаюсь сохранить в БД через Model.objects.create(field_1 = field_from_response1, field_2 = field_from_response2, остальные поля в модели с default ='') Model.save() но нечего не происходит, подозреваю что возможно нужна сериализация данных, это так? Мол Django не может впихнуть в БД то что я ему даю?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
nefalem
Такой вопрос еще, допустим обращаюсь к сторонему сервису и получаю от него ответ ввиде словаря, вытаскиваю оттуда значения
Потом пытаюсь сохранить в БД через Model.objects.create(field_1 = field_from_response1, field_2 = field_from_response2, остальные поля в модели с default ='') Model.save() но нечего не происходит, подозреваю что возможно нужна сериализация данных, это так? Мол Django не может впихнуть в БД то что я ему даю?
если в модели, допустим field_1, это Foreignkey, то туда нужно подавать не значения, а объекты с которыми связываешь

или писать так:
field_1_id=field_from_response1,
источник

n

nefalem in Django [ru] #STAY HOME
Artem Gubatenko
если в модели, допустим field_1, это Foreignkey, то туда нужно подавать не значения, а объекты с которыми связываешь

или писать так:
field_1_id=field_from_response1,
Foreignkey нет, но вот сейчас обратил внимание что там есть поля BooleanField но со значение default = False может их тоже надо указывать?
источник

n

nefalem in Django [ru] #STAY HOME
Хотя default говорит об обратном поидее
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
если не укажешь - будет False
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
nefalem
Такой вопрос еще, допустим обращаюсь к сторонему сервису и получаю от него ответ ввиде словаря, вытаскиваю оттуда значения
Потом пытаюсь сохранить в БД через Model.objects.create(field_1 = field_from_response1, field_2 = field_from_response2, остальные поля в модели с default ='') Model.save() но нечего не происходит, подозреваю что возможно нужна сериализация данных, это так? Мол Django не может впихнуть в БД то что я ему даю?
кстати, после create() save() не нужен
источник

n

nefalem in Django [ru] #STAY HOME
Artem Gubatenko
кстати, после create() save() не нужен
Спасибо попробую
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
nefalem
Спасибо попробую
но это не должно влиять
просто сохранит дважды
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
а что ты имел ввиду под?:
Model.save()


если делаешь, то нужно
object.save()
источник

n

nefalem in Django [ru] #STAY HOME
Artem Gubatenko
а что ты имел ввиду под?:
Model.save()


если делаешь, то нужно
object.save()
Имя модели
источник

n

nefalem in Django [ru] #STAY HOME
Сейчас закину код покажу
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
убери save()
create() возвращает созданный объект

присвой его и принтани - увидешь результат
источник

n

nefalem in Django [ru] #STAY HOME
Artem Gubatenko
убери save()
create() возвращает созданный объект

присвой его и принтани - увидешь результат
ок попробую
источник

n

nefalem in Django [ru] #STAY HOME
Artem Gubatenko
убери save()
create() возвращает созданный объект

присвой его и принтани - увидешь результат
Не не работает, вот код может так что то ясно станет https://dpaste.de/w7Ge
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
nefalem
Не не работает, вот код может так что то ясно станет https://dpaste.de/w7Ge
С виду код правильный.

Что у тебя за значения в
reference
и
check_number
приходят? Каких типов объекты?

Если IDE позволяет поставь, где не отрабатывает, breakpoints и посмотри что там происходит.

Или поставь pdb:

pip install pdbpp


В коде:

import pdb
pdb.set_trace()
result = check_connection.create_check(data)
logger.info('Result:')  #Отрабатывает
check_number = result.CheckNum #Отрабатывает
logger.info(check_number) #Отрабатывает
reference = result.ResponseInfo.Reference #Отрабатывает
logger.info(reference) #Отрабатывает
check_data = Check.objects.create(check_number=check_number, reference=reference) #Не Отрабатывает
logger.info(check_data ) #Не Отрабатывает


Запусти и в консоли вводи
next
и смотри как отрабатывает
источник