簡體   English   中英

Django import-export如何將當前管理員用戶添加到模型

[英]Django import-export how to add current admin user to model

我正在嘗試使import-export選擇當前/保存用戶(在模型中定義為“作者”字段)

我嘗試了這個(save_model)但不起作用(我認為是由於資源類)

class KWResource(resources.ModelResource):

    class Meta:

        model = KW
        import_id_fields = ('Keyword',)
        fields = ('Keyword',)


    searchess = fields.Field(attribute='searches', column_name="Avg. Monthly Searches (exact match only)")
    compp = fields.Field(attribute='comp', column_name="Competition")
    cpcc = fields.Field(attribute='cpc', column_name="Suggested bid")        

    def save_model(self, request, obj, form, change):
        if getattr(obj, 'author', None) is None:
            obj.author = request.user
        obj.save()

如何在此處獲取啟動導入的管理員用戶的ID?

弄清楚了,不確定是否是最好的解決方案,但是它可以工作:

class KWResource(resources.ModelResource):
....
....
   def before_import(self, dataset, dry_run, *args, **kwargs):
       li = []
       li.append(kwargs.pop('user', 1))
       dataset.insert_col(0, li, 'user')
       return super(KWResource, self).before_import(dataset, dry_run, *args, **kwargs)

對於以后找到它的任何人,您都可以通過Resource上的鈎子訪問當前的django用戶。 ** kwargs中有一個“用戶”。

def before_import_row(self, row, **kwargs):
    row['author'] = kwargs['user'].id

此處更多詳細信息: django-import-export分配當前用戶

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM