170 похожих чатов

Здравствуйте. Вопрос по атомарным транзакциям. Пытался применить их в представлении по

синтаксису
with transaction.atomic():
form = ProjectForm(request.POST)
if form.is_valid():
project = form.save()
выводит виводить ValueError at /projects/create/
The view tasks.views.view didn't return an HttpResponse object. It returned None instead.
Если использовать синтаксис
form = ProjectForm(request.POST)
if form.is_valid():
with transaction.atomic():
project = form.save()

тогда никакого эффекта нет – транзакция не откатывается.
В чем проблема и как правильно использовать этот менеджер для того, чтобы происходили транзакции по атомарному принципу?

24 ответов

17 просмотров

Хохлам смерть

Так ошибка связана не с транзакцией…

🇺🇦 Ruslan-Kazmiryk 🇺🇦 Автор вопроса
rasput
Так ошибка связана не с транзакцией…

если говорить о том что не возрващает HttpResponse там рекомендовалось просто переставить atomic manager над формой валидации для корректной работы

Это что за фреймвок вообще? Транзакции не бывают НЕатомарными

Ну ошибка видимо произошла после коммита транзакции

🇺🇦 Ruslan-Kazmiryk 🇺🇦 Автор вопроса

а в чём суть ошибки? как исправить?

🇺🇦 Ruslan Kazmiryk 🇺🇦
а в чём суть ошибки? как исправить?

У тебя вьюха ничего не вернула похоже

🇺🇦 Ruslan-Kazmiryk 🇺🇦 Автор вопроса
Tishka17
У тебя вьюха ничего не вернула похоже

контекст пустой? Это имеется ввиду?

🇺🇦 Ruslan-Kazmiryk 🇺🇦 Автор вопроса
Tishka17
У тебя вьюха ничего не вернула похоже

не вернула, потому что откат произошёл и ничего не сохранилось. Тогда получается замкнутый круг - если применить atomic manager, то представление не будет ничего возвращать, а если не применять, в случае невалидности формы обьект всё равно создастся

🇺🇦 Ruslan Kazmiryk 🇺🇦
не вернула, потому что откат произошёл и ничего не...

Не вижу чтобы произошел откат и "ничего не сохранилось". С чего ты это взял?

🇺🇦 Ruslan-Kazmiryk 🇺🇦 Автор вопроса
Tishka17
Не вижу чтобы произошел откат и "ничего не сохрани...

The view tasks.views.view didn't return an HttpResponse object. It returned None instead. - при таком ответе

🇺🇦 Ruslan Kazmiryk 🇺🇦
The view tasks.views.view didn't return an HttpRes...

Задай вопрос в группе по джанго лучше: https://t.me/pydjango А так, по ошибке у тебя вьюха ничего не возвращает

Alexander (Wolf)
Задай вопрос в группе по джанго лучше: https://t.m...

А толку... Чтобы что-то внятно ответили, вопрос должен быть осмысленный.

🇺🇦 Ruslan-Kazmiryk 🇺🇦 Автор вопроса

https://pastebin.com/hKCQzVzg

🇺🇦 Ruslan Kazmiryk 🇺🇦
https://pastebin.com/hKCQzVzg

1. Включи подсветку синтаксиса 2. Разбей на части, это же пипец портянка

🇺🇦 Ruslan Kazmiryk 🇺🇦
https://pastebin.com/hKCQzVzg

В функции не должно быть больше 3 уровней отступов. Сделаешь - приноси

🇺🇦 Ruslan Kazmiryk 🇺🇦
https://pastebin.com/hKCQzVzg

Если функция проверяет тип метода - оставь в ней только общую часть, остально вынеси в доп функции.

Похожие вопросы

Обсуждают сегодня

Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
Обновленный chat тестили уже господа? Готовимся на заводы ? Простой проект на ларавель собирает за 1 ответ..
Jacov Borisov
11
кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
Серьезно? Вот прям так на глагне на первом экране?
Sasha Beep
8
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
в "главной форме" создаются "дочерние формы / копии главной" new_form := TForm1.Create(Application); new_form.blah_blah_blah обработчик, срабатывающий при изменении положени...
livontiy
6
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Карта сайта