Не удается получить доступ к значениям базы данных для 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 и это сработало.

Вернуться на верх