Не удается получить доступ к значениям базы данных для django MultiSelectField во внешнем скрипте
У меня есть простой сценарий, в котором у меня есть django multiselectfield и варианты выбора следующие:
jobs_multiple_choice = (
(1, 'Social Media Manager'),
(2, 'Online Tutor'),
(3, 'Bookkeeper'),
(4, 'Personal Trainer'),
(5, 'Email Marketer'),
(6, ' Freelance Writer'),
(7, 'Website Designer'),
(9, 'Instagram Influencer'),
(8, 'SEO Expert '),
(10, ' Facebook Ads Specialist '),
(11, 'Graphic Designer'),
(12, 'Voiceover Artist'),
(30, 'Stock Photographer '),
(62, 'Data Entry Worker'),
)
я хочу сохранить номер как идентификатор задания, теперь я хочу получить данные модели во внешний скрипт python, я сделал обычный импорт, но у меня возникла проблема. script.py:
import django
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings')
django.setup()
from practice.models import Jobs
a = Jobs.objects.all().first()
print(a.name)
вывод, который он выдает, является представительным значением, а не числом, как ['1', '2', '42', '4', '24'] и т.д., но я получаю:
Social Media Manager, Online Tutor, Bookkeeper, Personal Trainer, Email Marketer, Website Designer, Graphic Designer, Voiceover Artist, Data Entry Worker
но когда я делаю это в оболочке manage.py, она выдает мне желаемое значение, как показано ниже
>>> from practice.models import Jobs
>>> a = Jobs.objects.all().first()
>>> b = Jobs.objects.all().last()
>>> a.name
['1', '2', '3', '4', '5', '7', '11', '12', '62']
>>> b.name
['3', '4', '10', '11', '62']
>>>
как мне исправить это и получить числовое значение (при этом я буду преобразовывать список строк в список int с помощью функции list(map()). Любая помощь будет благодарна!
я просто использовал list на моем a.name и он преобразовался в список строковых чисел, затем я просто использовал map(int, a), чтобы сделать его списком int и это сработало.