Django管理模型字段设置为当前用户
发布于 2021-01-29 14:59:58
我有一个领域模型:
class MyModel(models.Model):
name = models.CharField(max_length=50)
created_by = models.ForeignKeyField(User)
在我的管理员中:
class MyModelAdmin(admin.ModelAdmin):
list_display= ("name",)
fields = ("name",)
在这里,我不想created_by
在添加MyModel时在管理员中使用。我希望将其设置为当前用户,例如created_by =
request.user
我怎样才能做到这一点?
谢谢
关注者
0
被浏览
92
1 个回答
-
您已经设置
fields
好了,因此它created_by
不会以Django管理员的形式出现。现在,您需要覆盖
save_model
,并在保存新对象之前设置用户。class MyModelAdmin(admin.ModelAdmin): fields = ("name",) def save_model(self, request, obj, form, change): if not change: # the object is being created, so set the user obj.created_by = request.user obj.save()