我有以下模型形式,我在大多数模型中继承。
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
一切都很好。
但不是在管理员(期待员工用户),因为他使用自己的表格。 使管理表单正常工作的最简单方法是什么(我不需要从零开始执行每个操作)。
答案 0 :(得分:1)
您可以在ModelAdmin类中覆盖save_model
。
class MyModelAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.created_by = request.user
obj.save()