Size: a a a

Django [ru] #STAY HOME

2019 February 22

BE

Black Eyes in Django [ru] #STAY HOME
Подкскажите как checkbox off отловить в views? ))
on ловится, а на off - MultiValueDictKeyError
В голову приходят решения, но они что-то слишком сложные, мне кажется все проще
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Black Eyes
Подкскажите как checkbox off отловить в views? ))
on ловится, а на off - MultiValueDictKeyError
В голову приходят решения, но они что-то слишком сложные, мне кажется все проще
Форма, как вариант, там сделать булеан филд
источник

BE

Black Eyes in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
Форма, как вариант, там сделать булеан филд
Вы принимали сами checkbox off хоть раз?
источник

BE

Black Eyes in Django [ru] #STAY HOME
Все сделал, вопрос не актуален
источник

AD

Ang Def in Django [ru] #STAY HOME
Повторю вопрос, может ктонибудь знает как сделать?
источник

AD

Ang Def in Django [ru] #STAY HOME
Переслано от Ang Def
Вопрос - есть форма:
class ResumeCreateUpdateForm(forms.ModelForm):
   class Meta:
       model = Resume
       fields = (
           'title',
           'other_skills',
           'hobbies',
           'about',
           'education',
           'skill',
           'job'
       )
       widgets = {
           'title': forms.TextInput(attrs={'class': 'form-control'}),
           'other_skills': forms.Textarea(attrs={'class': 'form-control', 'rows': '5'}),
           'hobbies': forms.Textarea(attrs={'class': 'form-control', 'rows': '5'}),
           'about': forms.Textarea(attrs={'class': 'form-control', 'rows': '5'}),
           'education': forms.CheckboxSelectMultiple,
           'skill': forms.CheckboxSelectMultiple,
           'job': forms.CheckboxSelectMultiple,
       }
поля education, skill, job MTM. Эту форму использую и в Updateview и в CreateView. Пробовал добавлять блок:
    def __init__(self, *args, **kwargs):  # подумать что с этим делать
       super(ResumeCreateUpdateForm, self).__init__(*args, **kwargs)
       if self.instance.pk:
           resume = Resume.objects.get(pk=self.instance.pk)
           self.fields['education'].queryset = resume.education.all()
           self.fields['skill'].queryset = resume.skill.all()
           self.fields['job'].queryset = resume.job.all()
       else:
           self.fields['education'].queryset = Resume.objects.none()
           self.fields['skill'].queryset = Resume.objects.none()
           self.fields['job'].queryset = Resume.objects.none()
Чтобы невыводились все существующие модели education, skill, job в шаблон, для UpdateView это работает, но для CreateView если добавлять данные выводится ошибка:
Select a valid choice. 46 is not one of the available choices.
для каждого поля.
Подскажите пожалуйста как избежать вывода всех моделей education, skill, job (по пользователю или никаких полей если CreateView) в шаблон нужного вью
источник

NK

ID:531453784 in Django [ru] #STAY HOME
@robox будет жить. Поприветствуем!
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
Что-то я туплю. Как мне внутри atomic блока самому инициировать rollback?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
по теори выкинуть исключение
источник

DT

Dan Tyan in Django [ru] #STAY HOME
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
Dan Tyan
по теори выкинуть исключение
У меня atomic оборачивает view.
Если я выкину исключение, я не могу вернуть response. Хотя записи в базу отрабатывают как надо.
Чувствую, что-то не то делаю.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ссылку выше кинул
там как откатывать
источник

BQ

Bumin Qaghan in Django [ru] #STAY HOME
Maxim Kolesnikov
У меня atomic оборачивает view.
Если я выкину исключение, я не могу вернуть response. Хотя записи в базу отрабатывают как надо.
Чувствую, что-то не то делаю.
переделать достаточно легко. можешь сделать try/except блок, в try запихнуть transaction.atomic() (желательно через with) выбросить исключение и поймать его в except а затем уже вернуть что нужно
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
Dan Tyan
ссылку выше кинул
там как откатывать
Сделал через savepoint. Спасибо.
источник

Z

ZHU in Django [ru] #STAY HOME
подскажите как что нужно поставить в сериалайзер или в js что при пост запросе валидацию проходило ?
источник

Z

ZHU in Django [ru] #STAY HOME
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
ZHU
подскажите как что нужно поставить в сериалайзер или в js что при пост запросе валидацию проходило ?
required=False
источник

Z

ZHU in Django [ru] #STAY HOME
Maxim Kolesnikov
required=False
не проходит
источник

Z

ZHU in Django [ru] #STAY HOME
отправляю
[{'school': 2, 'liter': None, 'language': None, 'klass': 12, 'students': 0, 'planned_quantity': 0, 'year': 1}, {'school': 2, 'liter': None, 'language': None, 'klass': 1, 'students': 0, 'planned_quantity': 0, 'year': 1}, {'school': 2, 'klass': 2, 'liter': {'id': 1, 'name': 'A'}, 'students': 23, 'year': 1, 'language': {'id': 1, 'name': 'Русский'}, 'study_direction': 1, 'school_titul': 55, 'planned_quantity': 46}, {'school': 2, 'klass': 3, 'liter': {'id': 1, 'name': 'A'}, 'students': 324, 'year': 1, 'language': {'id': 1, 'name': 'Русский'}, 'study_direction': 1, 'school_titul': 53, 'planned_quantity': 648}, {'school': 2, 'klass': 5, 'liter': {'id': 1, 'name': 'A'}, 'students': 44, 'year': 1, 'language': {'id': 2, 'name': 'Английски'}, 'study_direction': 1, 'school_titul': 54, 'planned_quantity': 88}, {'school': 2, 'klass': 7, 'liter': {'id': 1, 'name': 'A'}, 'students': 54, 'year': 1, 'language': {'id': 2, 'name': 'Английски'}, 'study_direction': 1, 'school_titul': 52, 'planned_quantity': 108}]
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
ZHU
отправляю
[{'school': 2, 'liter': None, 'language': None, 'klass': 12, 'students': 0, 'planned_quantity': 0, 'year': 1}, {'school': 2, 'liter': None, 'language': None, 'klass': 1, 'students': 0, 'planned_quantity': 0, 'year': 1}, {'school': 2, 'klass': 2, 'liter': {'id': 1, 'name': 'A'}, 'students': 23, 'year': 1, 'language': {'id': 1, 'name': 'Русский'}, 'study_direction': 1, 'school_titul': 55, 'planned_quantity': 46}, {'school': 2, 'klass': 3, 'liter': {'id': 1, 'name': 'A'}, 'students': 324, 'year': 1, 'language': {'id': 1, 'name': 'Русский'}, 'study_direction': 1, 'school_titul': 53, 'planned_quantity': 648}, {'school': 2, 'klass': 5, 'liter': {'id': 1, 'name': 'A'}, 'students': 44, 'year': 1, 'language': {'id': 2, 'name': 'Английски'}, 'study_direction': 1, 'school_titul': 54, 'planned_quantity': 88}, {'school': 2, 'klass': 7, 'liter': {'id': 1, 'name': 'A'}, 'students': 54, 'year': 1, 'language': {'id': 2, 'name': 'Английски'}, 'study_direction': 1, 'school_titul': 52, 'planned_quantity': 108}]
У тебя массив. Оно просто так не обработается само.
источник