Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error message from query made from model without MultilingualManager is vague. #44

Open
jieter opened this issue Jul 15, 2018 · 0 comments

Comments

@jieter
Copy link
Member

jieter commented Jul 15, 2018

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant