1

インポート/エクスポートで現在のユーザーを選択/保存しようとしています(モデルの「作成者」フィールドとして定義されています)

これ(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 を取得するには?

4

2 に答える 2

2

後でこれを見つけた人は、リソースのフックで現在の django ユーザーにアクセスできます。**kwargs には「user」があります。

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

詳細はこちら: django-import-export assign current user

于 2019-05-31T13:29:00.927 に答える