簡體   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