2013-05-17 29 views
0

如何将文件分配给Django中的FileField?如何将文件分配给Django中的FileField?

我尝试:

from django.core.files import File 
... 
... 
att_path = os.path.join(detach_dir, filename) 

if not os.path.isfile(att_path): 
    fp = open(att_path, 'wb') 
    djangofile = File(fp) 
    fp.write(part.get_payload(decode=True)) 

    user = User.objects.get(id=1) 
    files = File.objects.create(src=djangofile, user=user) 
    fp.close() 

但我有此错误:

AttributeError: type object 'File' has no attribute 'objects'

models.py:

class File(models.Model): 
    user = models.ForeignKey(User) 
    src = models.FileField(upload_to="src") 
+0

不给你的模型相同的名称,你从Django的 –

回答

1

变化

class File(models.Model): 
    user = models.ForeignKey(User) 
    src = models.FileField(upload_to="src") 

到:

class UserFile(models.Model): # for example 
    user = models.ForeignKey(User) 
    src = models.FileField(upload_to="src") 

,然后创建它像这样:

files = UserFile.objects.create(src=djangofile, user=user) 

from django.core.files import Filefrom yourapp.models import File

One example使用FileFields冲突。

+0

由于导入类。这解决了这个错误,但现在我的'src'字段在保存后是空的。 '文件= FileStore.objects.create(SRC = djangofile,用户=用户)' - 似乎'djangofile'是不正确 – user2307683

+0

@ user2307683你有没有印'这行'att_path = os.path中后att_path'权价值。加入(detach_dir,文件名)'?你确定路径是正确的吗? –

+0

这只印刷了文件'dosinsu.png'的名字。未完整路径 – user2307683

相关问题