У меня есть функция, которая берет одно поле базы данных и изменяет его, чтобы оно могло стать другим полем.
Я пытаюсь запустить это:
def get_text_words(text):
if not text:
return []
else:
# Return a list of words that make up text
return text.split(' ')
q = Text.update(Text.words = get_text_words(Text.text))
q.execute()
Когда я запускаю его, он возвращает пустой список. После некоторого изучения операторов печати функция get_text_words
получает объект peewee <TextField>
, а не текстовое значение поля. Он не передает оператор if text:
и не возвращает пустой список.
Я знаю, что мог бы выполнять итерации, вычислять и сохранять, но я хотел бы посмотреть, есть ли возможность выполнить его в одном запросе, как описано выше, чтобы он был быстрым. Я уже отключил базу данных (не беспокойтесь, это дубликат производства), поэтому запрос был выполнен, но я не уверен, как работать со значением поля.
Есть ли способ запустить оператор обновления такого типа, где он принимает одно поле и помещает его через функцию, которая воздействует на значение и возвращает результат для присвоения другому полю?