首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-taggit插入

Django-taggit插入
EN

Stack Overflow用户
提问于 2013-07-25 11:54:58
回答 1查看 167关注 0票数 0

我的模型定义了一个字段,如

代码语言:javascript
复制
keywords = TaggableManager(_('Keywords'), blank=True)

从视图上看,我需要在

代码语言:javascript
复制
***
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:‘关键字’是该函数的无效关键字参数“

我怎么才能解决这个问题?

我不想做

代码语言:javascript
复制
mymodel = Obj(**defaults)
mymodel.save()
mymodel.keywords.add([kw for kw in obj.keywords])

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-02 14:03:30

我只是有一个类似的问题,并调查了taggit试验。我唯一能做的就是在创建之后添加标记,如下所示:

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17857326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档