Code

Opened 7 years ago

Closed 7 years ago

#3910 closed (duplicate)

DataError (Data too long for column) in admin caused by html entities overflowing db field size

Reported by: miguel.carboni@… Owned by: nobody
Component: contrib.admin Version: 0.96
Severity: Keywords: admin, DataError
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description (last modified by mtredinnick)

Hi! First of all, django is great.
I have found the following Model:

class Story(models.Model):
        autor = models.CharField(maxlength=50)
        titulo = models.CharField(maxlength=100)
        texto = models.CharField(maxlength=200)

        def __str__(self):
                return self.titulo

        class Admin:
                list_filter = ['autor']
                list_display = ['titulo', 'autor' ]

The model is trivial, it's not the actual.
The problem I found is that if I type í or á in the "titulo" textfield within the admin and save I got the following screen:

DataError at /admin/polls/story/2/
(1406, "Data too long for column 'message' at row 1")
Request Method: POST 
Request URL: http://localhost:8000/admin/polls/story/2/ 
Exception Type: DataError 
Exception Value: (1406, "Data too long for column 'message' at row 1") 
Exception Location: c:\python25\lib\site-packages\MySQL_python-1.2.2-py2.5-win32.egg\MySQLdb\connections.py in defaulterrorhandler, line 35 

It depends on the size of the "titulo", I guess the problem is that when it serialize "í" it turns into "í" then thes size of the verchar gets bigger than the original.

Regards!
Miguel S. Carboni
developer

Attachments (0)

Change History (5)

comment:1 Changed 7 years ago by Simon G. <dev@…>

  • Component changed from Database wrapper to Admin interface
  • Keywords admin, DataError added
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Summary changed from Problems with admin and spanish stresses to DataError (Data too long for column) in admin caused by html entities overflowing db field size
  • Triage Stage changed from Unreviewed to Accepted

Formatted model:

class Story(models.Model):
	autor = models.CharField(maxlength=50)
	titulo = models.CharField(maxlength=100)
	texto = models.CharField(maxlength=200)

	def str(self):
		return self.titulo

	class Admin:
		list_filter = autor
		list_display = ['titulo', 'autor' ]

comment:2 Changed 7 years ago by mtredinnick

  • Description modified (diff)

Fixed summary formatting.

comment:3 Changed 7 years ago by ubernostrum

  • Resolution set to worksforme
  • Status changed from new to closed

I suspect that either the Unicode merge fixed this, or your database and Django aren't thinking in the same charset. Please re-open if you can still reproduce on current trunk.

comment:4 Changed 7 years ago by ubernostrum

  • Resolution worksforme deleted
  • Status changed from closed to reopened

comment:5 Changed 7 years ago by ubernostrum

  • Resolution set to duplicate
  • Status changed from reopened to closed

Re-closing as a duplicate of #4336.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.