2013-03-18 3 views
0

Получение следующее сообщение об ошибке при попытке создать (& сохранить) модель Джанго с поля файла:ошибка типа при создании модели Джанго имея файл-поле

TypeError в/админ/app_name/шаблон/добавить/

принуждение в Unicode: необходимость строка или буфер INT нашел

Request Method:  POST 

Request URL:  http://localhost:8000/admin/app_name/template/add/ 

Django Version:  1.4.3 

Exception Type:  TypeError 

Exception Value: coercing to Unicode: need string or buffer, int found 

Exception Location: path_to_python\python\lib\site-packages\django\utils\encoding.py 
        in force_unicode, line 71 

здесь models.py: -

class Template(models.Model): 

    title = models.CharField(max_length=300, unique=True) 
    template = models.FileField(upload_to='templates') 

    def __unicode__(self): 
     return self.title 


class TemplateAdmin(admin.ModelAdmin): 

    def upload_file(request,*args, **kwargs): 

     if request.method == 'POST': 

      instance = Template(template=request.FILES['template']) 
      instance.title =request.POST['title'] 
      instance.save() 

admin.site.register(Template, TemplateAdmin) 

здесь settings.py:-

MEDIA_ROOT = os.path.join(os.path.dirname(__file__), "media") 

Кроме того, хотя эта ошибка при попытке сохранить (создать) объект шаблона, по-прежнему файл, кажется, загружен в указанный каталог (так как я могу найти его в этом каталоге) ... Однако экземпляр объекта не создается (поскольку Template.objects.all() возвращает пустой список).

ответ

0

решено сейчас ...!

проблема была из-за этого глупо опечатка (что я не мог обнаружить до сих пор) ---

class Template(models.Model): 

    title = models.CharField(max_length=300, unique=True) 
    template = models.FileField(upload_to='templates') 

    def __unicode__(self): 
     return self.title 

    def __unicode__(self): 
     return self.id 

 Смежные вопросы

  • Нет связанных вопросов^_^