python - Django Admin: TypeError: __str__ returned non-string (type FieldFile) -
i have functioning django site , functioning admin, except when try use admin site make new object model "article." when try create new "article" error:
typeerror @ /admin/blog/article/add/ __str__ returned non-string (type fieldfile) exception type: typeerror exception value: __str__ returned non-string (type fieldfile) exception location: /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/utils/encoding.py in force_text, line 90
here's weird thing: working morning. tried installing django-markdown , started getting error. couldn't work, uninstalled django-markdown , reverted code original (previously functional) , did appropriate migrations.
but i'm still getting error.
here's traceback , render error:
error during template rendering in template /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/contrib/admin/templates/admin/includes/fieldset.html, error @ line 19 __str__ returned non-string (type fieldfile) 9 {% field in line %} 10 <div{% if not line.fields|length_is:'1' %} class="field-box{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% if not field.is_readonly , field.errors %} errors{% endif %}{% if field.field.is_hidden %} hidden{% endif %}"{% elif field.is_checkbox %} class="checkbox-row"{% endif %}> 11 {% if not line.fields|length_is:'1' , not field.is_readonly %}{{ field.errors }}{% endif %} 12 {% if field.is_checkbox %} 13 {{ field.field }}{{ field.label_tag }} 14 {% else %} 15 {{ field.label_tag }} 16 {% if field.is_readonly %} 17 <p>{{ field.contents }}</p> 18 {% else %} 19 {{ field.field }} 20 {% endif %} 21 {% endif %} 22 {% if field.field.help_text %} 23 <p class="help">{{ field.field.help_text|safe }}</p> 24 {% endif %} 25 </div> 26 {% endfor %} 27 </div> 28 {% endfor %} 29 </fieldset> traceback switch copy-and-paste view /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/core/handlers/base.py in get_response response = response.render() ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/response.py in render self.content = self.rendered_content ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/response.py in rendered_content content = template.render(context, self._request) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/backends/django.py in render return self.template.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render return self._render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in _render return self.nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/loader_tags.py in render return compiled_parent._render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in _render return self.nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/loader_tags.py in render return compiled_parent._render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in _render return self.nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/loader_tags.py in render result = block.nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/loader_tags.py in render result = block.nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/defaulttags.py in render nodelist.append(node.render(context)) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/loader_tags.py in render return template.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render return self._render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in _render return self.nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/defaulttags.py in render nodelist.append(node.render(context)) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/defaulttags.py in render nodelist.append(node.render(context)) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/defaulttags.py in render return nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/defaulttags.py in render return nodelist.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/base.py in render bit = self.render_node(node, context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render_node return node.render(context) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/template/debug.py in render output = force_text(output) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/utils/encoding.py in force_text s = six.text_type(s) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/utils/html.py in <lambda> klass.__str__ = lambda self: mark_safe(klass_str(self)) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/forms/forms.py in __str__ return self.as_widget() ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/forms/forms.py in as_widget return force_text(widget.render(name, self.value(), attrs=attrs)) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/contrib/admin/widgets.py in render 'widget': self.widget.render(name, value, *args, **kwargs), ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/forms/widgets.py in render options = self.render_options(choices, value) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/forms/widgets.py in render_options option_value, option_label in chain(self.choices, choices): ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/forms/models.py in __iter__ yield self.choice(obj) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/forms/models.py in choice return (self.field.prepare_value(obj), self.field.label_from_instance(obj)) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/forms/models.py in label_from_instance return smart_text(obj) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/utils/encoding.py in smart_text return force_text(s, encoding, strings_only, errors) ... ▶ local vars /home/username/webapps/appname/lib/python3.4/django-1.8.2-py3.4.egg/django/utils/encoding.py in force_text s = six.text_type(s) ... ▶ local vars
here's article model:
class article(models.model): author = models.foreignkey(author, blank=true, null=true) title = models.charfield(max_length=200) slug = models.slugfield(max_length=200, blank=true, null=true) article_category = models.onetoonefield(articlecategory, blank=true, null=true) body_en = models.textfield(blank=true, null=true) body_fr = models.textfield(blank=true, null=true) is_review = models.booleanfield(default=false) publish = models.booleanfield(default=true) date_created = models.datetimefield(blank=true, null=true) modified = models.datetimefield(auto_now=true) tags = models.manytomanyfield(tag, blank=true, null=true) work_link = models.foreignkey(work, null=true, blank=true) artist_link = models.foreignkey(artist, null=true, blank=true) images = models.manytomanyfield(articleimage) def __str__(self): return self.title class meta: ordering = ["-date_created"]
admin.py:
from django.contrib import admin blog.models import article, tag, author, articlecategory, articleimage # register models here. admin.site.register(article) admin.site.register(author) admin.site.register(tag) admin.site.register(articlecategory) admin.site.register(articleimage)
i feel uninstalling , re-starting whole thing current setup, i'd prefer find out screwed , fix it.
any appreciated.
matt
without being able see local variables it's difficult diagnose problem. model somewhere returning fieldfile
instead of string when it's called provide option labels widget in admin, select think.
check str methods on models. 1 has filefield
culprit.
Comments
Post a Comment