Получение истинной итерации из taggit в views.py - PullRequest
0 голосов
/ 27 мая 2019

Я пишу пользовательское представление с taggit - я хочу предварительно заполнить поле формы редактирования объекта с тегами, в настоящее время назначенными этому объекту. Я бы хотел, чтобы формат был в этом, вроде, формате.

Вместо этого я получаю ['this', 'format'], и даже при использовании приведенного ниже кода я получаю формат списка с включенными одинарными кавычками

# Create an empty string, iterate through tags and add each one joined with ','
        tags_on_set = ''
        for each_tag in set.tags.names():
            tags_on_set + ',' + each_tag
            print(each_tag)
            print(tags_on_set)

        # prepopulate field with the results of above:
        if set.tags:
            set_edit.fields['tags'].widget.attrs['value'] = tags_on_set

Приведенные выше результаты приводят к печати: ['are', 'new', 'tags', 'the', 'these']. Я могу удалить эти значения в поле формы, добавить следующее: «вот, некоторые, новые, теги», и я получаю те же результаты, строку списка, хотя я пытаюсь распечатать каждый тег по отдельности. В основном, в приведенном выше коде: 'each_tag' == ['are', 'new', 'tags', 'the', 'these']

Я неправильно внедряю?

** forms.py


class SetEdit(forms.ModelForm):


    class Meta():
        model = Set
        fields = ('title','tags',)

        widgets = {
        "title":forms.TextInput(attrs={'class':'borderless textinputclass editable',
                                        'placeholder':''}),
        "tags":taggit.TagWidget(attrs={'class':'textinputclass editable',
                                        'placeholder':'',}),
        }

        labels = {
            "title":None,
            "tags":None,

        }

реализация сохранения тегов на views.py (Я попробовал set.tags.add () и получил те же результаты, только я получил накопительные теги, а не набор тегов, как и ожидалось)

if request.method == 'POST':
        set_edit = SetEdit(data=request.POST,)
        item_form = ItemForm(data=request.POST,user=user)

        if set_edit.is_valid():
            set.title = set_edit.cleaned_data['title']
            set.tags.set(str(set_edit.cleaned_data['tags']))
            set.save()
            return HttpResponseRedirect(reverse('curate:set_detail', kwargs={'slug':set.slug}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...