Подтвердить что ты не робот

Python/Django: создание более простого списка из values_list()

Рассмотрим:

>>>jr.operators.values_list('id')
[(1,), (2,), (3,)]

Как упростить далее:

['1', '2', '3']

Цель:

class ActivityForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(ActivityForm, self).__init__(*args, **kwargs)
        if self.initial['job_record']:
            jr = JobRecord.objects.get(pk=self.initial['job_record'])

            # Operators
            self.fields['operators'].queryset = jr.operators

            # select all operators by default
            self.initial['operators'] = jr.operators.values_list('id') # refined as above.
4b9b3361

Ответ 2

Вам нужно сделать.., чтобы получить этот выход ['1', '2', '3']

map(str, Entry.objects.values_list('id', flat=True).order_by('id'))

Ответ 3

Вы можете использовать понимание списка:

    >>> mylist = [(1,), (2,), (3,)]
    >>> [str(x[0]) for x in mylist]
    ['1', '2', '3']

Ответ 4

Что-то вроде этого?

x = [(1,), (2,), (3,)]
y = [str(i[0]) for i in x]
['1', '2', '3']