django-modeltrans
django-modeltrans copied to clipboard
Error message from query made from model without MultilingualManager is vague.
Traceback looks like this:
Traceback (most recent call last):
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/core/paginator.py", line 85, in count
return self.object_list.count()
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/query.py", line 387, in count
print(repr(self))
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/query.py", line 248, in __repr__
data = list(self[:REPR_OUTPUT_SIZE + 1])
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/query.py", line 272, in __iter__
self._fetch_all()
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/query.py", line 1180, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1055, in execute_sql
sql, params = self.as_sql()
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 461, in as_sql
where, w_params = self.compile(self.where) if self.where is not None else ("", [])
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 393, in compile
sql, params = node.as_sql(self, self.connection)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/where.py", line 80, in as_sql
sql, params = compiler.compile(child)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 393, in compile
sql, params = node.as_sql(self, self.connection)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/where.py", line 80, in as_sql
sql, params = compiler.compile(child)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 393, in compile
sql, params = node.as_sql(self, self.connection)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/lookups.py", line 160, in as_sql
lhs_sql, params = self.process_lhs(compiler, connection)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/lookups.py", line 151, in process_lhs
lhs_sql, params = super().process_lhs(compiler, connection, lhs)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/lookups.py", line 78, in process_lhs
return compiler.compile(lhs)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 393, in compile
sql, params = node.as_sql(self, self.connection)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/expressions.py", line 743, in as_sql
return "%s.%s" % (qn(self.alias), qn(self.target.column)), []
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 384, in quote_name_unless_alias
r = self.connection.ops.quote_name(name)
File "/Users/jieter/.virtualenvs/meetnetten/lib/python3.6/site-packages/django/db/backends/postgresql/operations.py", line 98, in quote_name
if name.startswith('"') and name.endswith('"'):
AttributeError: 'NoneType' object has no attribute 'startswith'
When doing something like Category.objects.filter(blog__title_i18n__icontains='django')
with these models:
class Category(models.Model):
title = models.CharField(max_length=255)
class Blog(models.Model):
title = models.CharField(max_length=255)
body = models.TextField(null=True)
category = models.ForeignKey(Category, null=True, blank=True, on_delete=models.CASCADE)
i18n = TranslationField(fields=("title", "body"))
It would be nice if you could provide a friendly message.