【发布时间】:2012-02-26 12:24:12
【问题描述】:
我正在尝试使用 Django-filetransfer 上传文件,我想知道如何导入用户名以用作保存上传文件的名称。现在我正在使用 User.username,但那是无效的。我想最大的问题是如何从models.py 访问用户的属性。下面是我的models.py:
from django.db import models
from django.contrib.auth.models import User, UserManager
class UploadModel(User,models.Model):
title = models.CharField(max_length=64, blank=True)
user = models.ForeignKey(User)
file = models.FileField(upload_to='./uploads/'+str(User.username))
@property
def filename(self):
return self.file.name.rsplit('/', 1)[-1]
更新: 应用/上传/models.py
from django.db import models
from django.contrib.auth.models import User, UserManager
def uploadmodel_file_upload_to(instance, filename):
return 'uploads/%s/%s' % (instance.user.username, filename)
class UploadModel(models.Model):
user = models.ForeignKey('auth.user')
file = models.FileField(upload_to=uploadmodel_file_upload_to)
/upload 处的模板语法错误 渲染时捕获 DatabaseError:列 upload_uploadmodel.user_id 不存在 第 1 行:选择 "upload_uploadmodel"."id", "upload_uploadmodel"."user...
【问题讨论】:
-
为什么 UploadModel 继承自 User ?