Невозможно добавить начальные/автоматические теги тегов с помощью tagulous по сигналу post-save

Я не могу добавить начальные/автоматические теги тегов с помощью tagulous по сигналу post-save. Я работаю над проектом, который содержит марки смартфонов, модели и файлы их конкретных прошивок.

Я хочу сделать следующее: при публикации таблицы я хочу скопировать название бренда название модели и название файла в поле tags вместе с предустановленными тегами. Для этого я использую post save signals из django и он выводит следующее:

Я пытаюсь добавить начальные теги и также хочу скопировать поля title model brand в теги, но код выдает ошибку

def tag_set(sender, instance,*arg, **kwargs):
    ans= array_tag(instance)
    instance.Tags.add(ans)
   
post_save.connect(tag_set, sender=resource)  
def array_tag(instance):
    return [instance.title ,instance.desc,instance.size, instance.Brand.title ,instance.Model.title ,instance.Categories.title]

Ошибка

  'list' object has no attribute 'pk'

ниже приведены настройки кода, которые я использовал

Models.py

   class Skill(tagulous.models.TagTreeModel):
    class TagMeta:
        initial = [
            "Python/Django",
            "Python/Flask",
            "JavaScript/JQuery",
            "JavaScript/Angular.js",
            "Linux/nginx",
            "Linux/uwsgi",]
        space_delimiter = False
        autocomplete_view = "resource_skills_autocomplete"     
class resource(models.Model):
    title=models.CharField(max_length=100)
    size=models.CharField( max_length=20, default="")
    desc=models.TextField(default="")
    file=models.FileField(default="", blank=True)
    url= models.URLField(max_length=200, blank=True)
    Brand = models.ForeignKey(brand,on_delete=models.CASCADE, default="")
    Model = models.ForeignKey(model,on_delete=models.CASCADE, default="")
    Categories = models.ForeignKey(category,on_delete=models.CASCADE, default="")
    update_at=models.DateField(auto_now=True)
    slug=models.SlugField(max_length=200, null=True,blank=True)
    Tags = tagulous.models.TagField( to=Skill, help_text="This field does not split on spaces" )

Settings.py

    SERIALIZATION_MODULES = {
    'xml':    'tagulous.serializers.xml_serializer',
    'json':   'tagulous.serializers.json',
    'python': 'tagulous.serializers.python',
    'yaml':   'tagulous.serializers.pyyaml',
}

Admin.py

    class PersonAdmin(admin.ModelAdmin):
    list_display = ("title","size","Brand", "Model", "Categories","Tag" )

tagulous.admin.register(models.resource, PersonAdmin)
tagulous.admin.register(models.Skill)

Forms.py

class PersonForm(forms.ModelForm):
class Meta:
    fields = ["title", "Tags"]
    model = models.resource
Вернуться на верх