Django taggit插入
我的模型定义了一个类似Django taggit插入,django,django-taggit,Django,Django Taggit,我的模型定义了一个类似 keywords = TaggableManager(_('Keywords'), blank=True) 从视图中,我需要在for中使用get_或_create *** with transaction.commit_on_success(): # Inserting obj_parsed defaults = { 'owner': user, 'title': obj.title, 'abstract'
keywords = TaggableManager(_('Keywords'), blank=True)
从视图中,我需要在for中使用get_或_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\u或\u create给了我错误“TypeError:“keywords”是此函数的无效关键字参数”
我怎样才能解决这个问题
我不想这样做
mymodel = Obj(**defaults)
mymodel.save()
mymodel.keywords.add([kw for kw in obj.keywords])
谢谢 我只是遇到了一个类似的问题,并调查了这个问题。我唯一能做的就是在创建后添加标记,如下所示:
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)