BooleanField.
Пытаюсь переопределить метод save таким образом, чтобы при сохранении проверялось, есть ли уже объект с default_office = True. Если есть, то сохраняем с default_office = False, если нет, то сохраняем с default_office = True.
Не могу понять как обновить найденный объект. Попробовал вот так: https://pastebin.com/hHDVQ5ru
Что делаю не так? Куда копать?(
Тебе тут if нужен и дальше проверка, потом save(), через дебаггер пройдись и более лучше поймешь
У меня на данный момент в БД 100% имеется объект с TRUE, я специально сюда сжатый вариант кинул. При сохранении начинается рекурсивное сохранение до упора, а потом остается старый объект не тронутым + новый создается со значением True
во первых у save много арументов которые нужно принимать и передавать в супер, во вторых ошибка может быть не только когда ни одного тру, но и когда их больше одного, потому что гет умеет возвращать только единственный инстанс
По поводу первого, спасибо, погуглю еще. Что касается второго, да мне хотя бы с одним тру чтобы завелось) я при попытке сохранить получаю вот это: maximum recursion depth exceeded while calling a Python object
проще будте как-то так Office.objects.update(default_office=False) self.default_office = True
апдейтнул, фолс конечно там, так сразу таблицу всю в фолс ставишь, а потом текущему уже тру
Правильно понимаю, что в таком случае улетает куча запросов к БД?
наоборот, с SQL не знаком?
пока нет...
Обсуждают сегодня