获取模型类中“created_by”字段的当前用户

The*_*ile 4 django django-models django-users django-request

我目前正在开发 Django 应用程序,并且尝试将当前用户设置为模型上的默认用户,但它不起作用。

created_by = models.ForeignKey(User, default=request.user, null=True, blank=True, on_delete=models.DO_NOTHING, related_name='created_by')
Run Code Online (Sandbox Code Playgroud)

我尝试重写 save() 方法,但它也不起作用,有人对此事有任何经验吗?

预先非常感谢您的帮助

a_k*_*k_v 7

参考官方文档。它很好地解释了这一点。还有一个例子

from django.views.generic.edit import CreateView
from myapp.models import Author

class AuthorCreate(CreateView):
    model = Author
    fields = ['name']

    def form_valid(self, form):
        form.instance.created_by = self.request.user
        return super().form_valid(form)
Run Code Online (Sandbox Code Playgroud)

https://docs.djangoproject.com/en/2.1/topics/class-based-views/generic-editing/#models-and-request-user