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'