id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 5233,"Getting a ""TypeError; __str__ returned non-string (type Topic)"" when trying to delete a item",mgorree@…,Peter Baumgartner,"There is no (visible, in terms of content) difference between a record that does delete and one that errors-out. Seems to have something to do with foreign keys when a Topic has votes; i get an error. If not that it works just fine. My models: {{{ class Topic(models.Model): id = models.AutoField(primary_key=True) date = models.DateTimeField() topic = models.CharField(maxlength=50) description = models.TextField() video_url = models.CharField(maxlength=50, blank=True) rating = models.IntegerField(blank=True) author = models.CharField(maxlength=25) email = models.CharField(maxlength=100) terms_accepted = models.BooleanField() key = models.SlugField() confirmed = models.BooleanField() remote_addr = models.CharField(maxlength=15, blank=True) reminder_sent = models.BooleanField() reminder_date = models.DateTimeField() class Admin: list_display = ('id', 'date', 'topic', 'rating', 'author', 'email', 'confirmed', 'video_url', 'reminder_sent', 'reminder_date') list_filter = ('date', 'confirmed') ordering = ('-rating',) search_fields = ('id', 'topic', 'description', 'author', 'email') pass def __str__(self): return self.topic class Vote(models.Model): TYPE_CHOICES = ( ('+', '+ 1'), ('-', '- 1') ) topic = models.ForeignKey(Topic) date = models.DateTimeField() email = models.CharField(maxlength=100) name = models.CharField(maxlength=25) type = models.CharField(maxlength=1, choices=TYPE_CHOICES) confirmed = models.BooleanField() key = models.SlugField(maxlength=32) reason = models.CharField(maxlength=255) reminder_sent = models.BooleanField() reminder_date = models.DateTimeField() class Admin: list_display = ('date', 'name', 'email', 'type', 'topic', 'confirmed') list_filter = ('date',) search_fields = ('name', 'email', 'topic') pass class Meta: unique_together = (('topic', 'email'),) }}} Using python 2.4.4 {{{ Traceback (most recent call last): File ""/usr/lib/python2.4/site-packages/django/core/handlers/base.py"", line 77, in get_response response = callback(request, *callback_args, **callback_kwargs) File ""/usr/lib/python2.4/site-packages/django/contrib/admin/views/decorators.py"", line 55, in _checklogin return view_func(request, *args, **kwargs) File ""/usr/lib/python2.4/site-packages/django/views/decorators/cache.py"", line 39, in _wrapped_view_func response = view_func(request, *args, **kwargs) File ""/usr/lib/python2.4/site-packages/django/contrib/admin/views/main.py"", line 512, in delete_stage _get_deleted_objects(deleted_objects, perms_needed, request.user, obj, opts, 1) File ""/usr/lib/python2.4/site-packages/django/contrib/admin/views/main.py"", line 456, in _get_deleted_objects nh(deleted_objects, current_depth, [u'%s: %s' % \ File ""/usr/lib/python2.4/site-packages/django/utils/functional.py"", line 122, in wrapper return func(*args, **kwargs) File ""/usr/lib/python2.4/site-packages/django/utils/html.py"", line 30, in escape return force_unicode(html).replace('&', '&').replace('<', '<').replace('>', '>').replace('""', '"').replace(""'"", ''') File ""/usr/lib/python2.4/site-packages/django/utils/encoding.py"", line 40, in force_unicode s = unicode(str(s), encoding, errors) TypeError: __str__ returned non-string (type Topic) }}}",,closed,contrib.admin,dev,,worksforme,,,Unreviewed,0,0,0,0,0,0