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

Мне указали на ошибку: "ModelFormMixin.form_valid там сделано по другому. Как

думаете почему там реализовано иначе, а не self.model.create(**form.cleaned_data)?"

но я что-то не могу понять, как сделано в ModelFormMixin.form_valid и как должен сделать я...

22 ответов

6 просмотров

это форма продукта? ты сохраняешь его два раза и еще впихиваешь с бизнес логику туда же)

Микита-Хмель Автор вопроса

дважды он не создается, этот класс наследуется от FormView и он ничего не знает о модели, чтобы что-то сохранить, поэтому я там явно и делаю Sale(продажа).objects.create... но пологаю должно быть иначе

в родительской модели тоже есть form.save() а сохранение формы во вьюхе возвращает тебе полученный инстанс, там уже можно так же sale сохранить

Микита-Хмель Автор вопроса

хм, ну а если form.save() вернул мне объект, там есть поля, которые были у формы. Но мне то помимо этих полей нужны еще другие, которые пользователь не заполнял, например мне нужно подтянуть цену товара, рассчитать ее умножив на то количество, которое выбрал пользователь, а потом уже на основе этого создать обьект и сохранить в бд

а в форме это все у тебя откуда? и почему нельзя так же это получить во вьюхе?

Микита-Хмель Автор вопроса

вот сейчас вот так, я создаю обьект Sale(продажа) на основе данных полученных из формы и данных, которые рассчитываю как бы сам (цену товара умноженную на кол-во), а мне проверяющий пишет "ModelFormMixin.form_valid там сделано по другому. Как думаете почему там реализовано иначе, а не self.mode.create(**form.cleaned_data)?"

так, а это точно метод формы, а не вьюхи?

Микита-Хмель Автор вопроса

это метод вьюхи ProductDetail(FormView)

Микита-Хмель Автор вопроса

а вот как-то так по его мнению должно быть (это из ModelFormMixin, который он в пример приводит)

я не понимаю почему вы сравниваете метод формы с методом вьюхи

Кажется, от тебя просто требует использовать Mixin и тонко намекают, что ты не там описал метод form_valid

Микита-Хмель Автор вопроса

хм, ну у меня вьюха наследуется от FormView, там есть метод form_valid

class Name(CustomMixin, FormView): pass

Микита-Хмель Автор вопроса

а что мне это даст и куда мне в таком случае деть свой старый код?

Вырезать и воткнуть в Mixin?

Микита-Хмель Автор вопроса

а куда именно, в тот же метод form_valid?

Если ты в школе по Django, то вероятно вы проходите логичное распределение кода. Всё должно быть на своих местах и всё такое

class CustomMixin: def form_valid(...): ... return super().form_valid(...) Типо такого вероятнее всего

так, давай нормально выложи код формы, модели и вьюхи на dpaste.org

Микита-Хмель Автор вопроса

https://dpaste.org/RzBB

ну, как минимум точно нужно сделать instance = product.save() ... return instance возможно речь об этом

Микита-Хмель Автор вопроса

типо так?

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
27
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Добрый день. А shovel'ы можно как-то сконфигурировать в definitions.json? Пробовал что-то вроде: { "users": [ { "name": "agent", "password_hash": "RBCbTzQd...
Aleksey
1
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Карта сайта