No one else? Strange...
The closest related issue I could find"out there" relates to the way that the MySQLdb cursor returns its results i.e. with the tablename prefixes stripped off. So fields called 'name' or 'code' (that commonly appear in many tables) all now clash with each other.
-- The closest related issue I could find"out there" relates to the way that the MySQLdb cursor returns its results i.e. with the tablename prefixes stripped off. So fields called 'name' or 'code' (that commonly appear in many tables) all now clash with each other.
I tried one approach, which is to monkey patch in the use of connection.cursor(MySQLdb.cursors.DictCursor) but Django was not happy with that at all! It clearly does not want a dictionary.
Any other suggestions or workarounds - short of my ensuring unique field names through out my database? (which is a fair amount of rework).
Thanks
Derek
On Saturday, 14 June 2014 18:44:52 UTC+2, Derek wrote:
On Saturday, 14 June 2014 18:44:52 UTC+2, Derek wrote:
I have recently discovered that Django admin is generating errors when trying to sort a table on certain fields: in particular, those fields that are ForeignKey linked to a separate table, each of which has a 'name' field. Selecting any of these columns for a sort generates this error:
OperationalError at /admin/myapp/mytable/
(1060, "Duplicate column name 'name'")
A full stack trace is shown below. I am working with MySQL 5.5 and Django 1.6.3.
Has anyone else encountered this error? Is this a known bug and/or is there a workaround?
Thanks
Derek
Stack Trace:
Traceback:
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/core/handlers/ base.py" in get_response
139. response = response.render()
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/ response.py" in render
105. self.content = self.rendered_content
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/ response.py" in rendered_content
82. content = template.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render
140. return self._render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in _render
134. return self.nodelist.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render
840. bit = self.render_node(node, context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render_node
854. return node.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/ loader_tags.py" in render
123. return compiled_parent._render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in _render
134. return self.nodelist.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render
840. bit = self.render_node(node, context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render_node
854. return node.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/ loader_tags.py" in render
123. return compiled_parent._render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in _render
134. return self.nodelist.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render
840. bit = self.render_node(node, context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render_node
854. return node.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/ loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render
840. bit = self.render_node(node, context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render_node
854. return node.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/ loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render
840. bit = self.render_node(node, context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render_node
854. return node.render(context)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/template/base. py" in render
1196. _dict = func(*resolved_args, **resolved_kwargs)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/contrib/admin/ templatetags/admin_list.py" in date_hierarchy
312.last=models.Max(field_name))
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/models/ query.py" in aggregate
278. return query.get_aggregation(using=self.db)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/models/sql/ query.py" in get_aggregation
356. result = query.get_compiler(using).execute_sql(SINGLE)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/models/sql/ compiler.py" in execute_sql
786. cursor.execute(sql, params)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/backends/ util.py" in execute
69. return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/backends/ util.py" in execute
53. return self.cursor.execute(sql, params)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/utils.py" in __exit__
99. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/backends/ util.py" in execute
53. return self.cursor.execute(sql, params)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/django/db/backends/ mysql/base.py" in execute
124. return self.cursor.execute(query, args)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/MySQLdb/cursors.py" in execute
201. self.errorhandler(self, exc, value)
File "/home/derek/.virtualenvs/demo/local/lib/python2.7/site- packages/MySQLdb/connections. py" in defaulterrorhandler
36. raise errorclass, errorvalue
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/73820c1b-eb3b-4304-a673-82ece6f2316a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment