редактирования записи в админке, аяксом фильтрую список ModelMultipleChoiceField m2m поля, значения списка выбираются в зависимости от значения другого поля. При сохранении вылазиет ошибка: Выберите корректный вариант. 4 нет среди допустимых значений.
Перечитал кучу инфы, никак не могу сообразить как это реализовать.
Вот ссылка на файлы - https://gist.github.com/mastertixon83/ce0e9f7e257340efaed06a2803563f4b
Подскажет кто?
В каком поле это вылазит?
есть ощущение что ты гет запросом пытаешься тело отправить
В том которое изменяется аяксом
данные отправляются при нажатии на кнопку сохранить в админке
Твой аджакс срабатывает после выбора чего-то в гендере
не совсем понял какое отношение это имеет к get и body
Второе измени то что Николай говорит
Ты там как?
Ковыряю код )
А что там ковырять, делай по порядку как пишут ... Сменил тип запроса с гет на пост?
Где? Зачем? Поясни пожалуйста. Форма админки данные постом отправляет сама. Гетом выбираются данные для списка значений ModelMultipleChoiceField
Скажем, ты получил размеры и заполнил селект ... Возвращаюсь к самому первому вопросу
В поле размеров. Такая ситуация: допустим если редактируются размеры женских брюк (42, 44, 46 на 42, 46) то сохраняется без ошибок, а если изменить на женские рубашки (размер 35) то при сохранении в поле размеры вылазиет эта ошибка Выберите корректный вариант. 2 нет среди допустимых значений.
Хорошо, теперь вернись к клин методу формы и смени сд = супер().клин() И чтоб в конце был Ретурн сд Сделай это так
У тебя поле с размерами, какой field имеет?
результат тот же
Так я не говорю результат не этом изменится, дальше
Вбей в консоль в браузере после заполнения всего Вот эту строку $('#id_sizes').empty(); И попробуй раскрыть селек сайзов Оно стало пустым?
Я про формы, а не модели.
ModelMultipleChoiceField
Вроде всё, теперь немного форму сменить ... Логика которая в ините стоит, к ней есть вопросы. Попробуй всю ее закоментить
Дальше проверь 2 варианта 1. Создание с нуля 2. Изменение существующего продукта (тут попробуй, сменить гендер, размеры и менять другие поля не меняя поля размера и гендера)
если инит закоментить то подтягиваются все размеры, которые есть в таблице размеров, а не те которые нужны для гендера и категории
у тебя есть ajax и тестовая вьюха, ты из ajax посылаешь на тестовую вьюху гет запрос, при этом указываешь ему тело, у гет запроса не может быть тела.
Размеры сменяться при выборе категории и гендера
Это же сменил уже
при создании с нуля та же ошибка
Кстати, джейквериевский аджакс дату отправит как параметры если это гет, вроде
А поле размеров изменилось при заполнении?
При редактировании существующего: изменение гендера и размера ошибка при если был мужские рубашки на мужские брюки - ошибка, если изменять другие поля не меняя гендер и размер все нормально
Вот на этот вопрос тоже ответь @TikhonovAndrey
значения списка подтянулись, но не сохраняются
У тебя в сайзай точно сайз с айди 4 есть? Если да, то покажи как выглядит хтмлка селекта сайзов до аджакса и после
До <select name="sizes" id="id_sizes" multiple=""> <option value="6" selected="">35</option> </select> После <select name="sizes" id="id_sizes" multiple=""> <option value="2">37</option> <option value="3">42</option> <option value="4">44</option> </select>
Это при изменении существующего, а при создании?
До <select name="sizes" id="id_sizes" multiple=""> </select> После <select name="sizes" id="id_sizes" multiple=""> <option value="2">37</option> <option value="3">42</option> <option value="4">44</option> </select>
Готово
а инит с формы не закоментил?
Сделал, с закоменченым инитом все сработало, но подтягиваются все размеры, которые имеются в таблице размеров
теперь, немного доработать инит, скажем тупо ифом после супера иф инстансе и все что было после супера под него попробуй
это для уже созданного продукта?
Да, Для нового все ОК
Обсуждают сегодня