Django models Django`upload\u to`-实例没有用户属性

Django models Django`upload\u to`-实例没有用户属性,django-models,file-upload,Django Models,File Upload,我的模型。文档模型没有任何与之关联的用户,但我想将文档存储在用户目录中。 我在请求会话中肯定有用户,即request.user 如何修改下面的代码,以便可以在模型中访问request.user: models.py def doc_directory_path(instance, filename): # file will be uploaded to MEDIA_ROOT/user_<id>/<filename> user_id = request.u

我的
模型。文档
模型没有任何与之关联的用户,但我想将文档存储在用户目录中。 我在请求会话中肯定有用户,即
request.user

如何修改下面的代码,以便可以在模型中访问
request.user

models.py

def doc_directory_path(instance, filename):
    # file will be uploaded to MEDIA_ROOT/user_<id>/<filename>
    user_id = request.user.id  # instance.user.id throwing error instance has not attribute user
    return 'user_{0}/{1}/{2}'.format(user_id, instance.id, filename) #-- I want user id to be accessible here

class Document(models.Model):
    category = models.ManyToManyField(DocumentCategory, verbose_name=_("Document Category"))
    doc_num = models.TextField(_("Document Number"), blank=True, max_length=100)
    version = models.CharField(_("Document Version"), max_length=50)
    name = models.CharField(_("File Name"), max_length=250)
    file = models.FileField(_("Softcopy"), upload_to=doc_directory_path,  max_length=10000, null=True)
    ...
views.py

class FilesCreateView(generic.edit.CreateView): 
    form_class = DocumentForm
    template_name = 'files/files_form.html'
class FilesCreateView(generic.edit.CreateView): 
    form_class = DocumentForm
    template_name = 'files/files_form.html'