繁体   English   中英

Django-taggit插入

[英]Django-taggit inserting

我的模型定义了一个像

keywords = TaggableManager(_('Keywords'), blank=True)

从视图中,我需要在for中使用get_or_create

***
with transaction.commit_on_success():
    # Inserting obj_parsed
    defaults = {
        'owner': user,
        'title': obj.title,
        'abstract': obj.abstract,
        #'keywords': [kw for kw in obj.keywords],
        'url': obj.url,
    }

    obj_instance, created = Obj.objects.get_or_create(
                                title=obj.title, defaults=defaults)
    if not created:        
        result['error'] = _('URL already in the repository') 
        return result

obj.keywords是一个列表(可以为空),但是get_or_create给我错误“ TypeError:'keywords'是该函数的无效关键字参数”

我该如何解决?

我不想做

mymodel = Obj(**defaults)
mymodel.save()
mymodel.keywords.add([kw for kw in obj.keywords])

谢谢!

我只是有一个类似的问题,并研究了taggit测试 我唯一要做的就是在创建后添加标签,如下所示:

defaults = {
    'owner': user,
    'title': obj.title,
    'abstract': obj.abstract,
    'url': obj.url,
}
obj_instance, created = Obj.objects.get_or_create(title=obj.title, defaults=defaults)
obj_instance.add(*obj.keywords)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM