[英]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.