修改django Admin表单

时间:2017-12-07 11:04:56

标签: django django-forms django-admin

我有以下模型形式,我在大多数模型中继承。

class UserStamp(models.Model):
    created_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True,
                                   related_name='%(app_label)s_%(class)s_created_by', on_delete=models.CASCADE)
    updated_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True,
                                   related_name='%(app_label)s_%(class)s_updated_by', on_delete=models.CASCADE)

    class Meta:
        abstract = True

我在构建自己的表单时使用

form.instance.created_by = self.request.user

一切都很好。

但不是在管理员(期待员工用户),因为他使用自己的表格。 使管理表单正常工作的最简单方法是什么(我不需要从零开始执行每个操作)。

1 个答案:

答案 0 :(得分:1)

您可以在ModelAdmin类中覆盖save_model

class MyModelAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        obj.created_by = request.user
        obj.save()
相关问题