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 7791 len() on queryset with distinct ordered by child's field crashes Ivan Sagalaev Malcolm Tredinnick "Given this model: {{{ #!python class Restaurant(models.Model): title = models.CharField(max_length=50) class Pizza(models.Model): restaurant = models.ForeignKey(Restaurant) title = models.CharField(max_length=50) }}} and this data (one test record for each model): {{{ [ { ""pk"": 1, ""model"": ""main.restaurant"", ""fields"": { ""title"": ""Karlo"" } }, { ""pk"": 1, ""model"": ""main.pizza"", ""fields"": { ""title"": ""Margherita"", ""restaurant"": 1 } } ] }}} calling len() on a queryset with distinct ordered by child's field: {{{ #!python len(Restaurant.objects.order_by('pizza__title').distinct()) }}} gives this traceback: {{{ Traceback (most recent call last): File ""./manage.py"", line 13, in len(Restaurant.objects.order_by('pizza__title').distinct()) File ""/home/isagalaev/py/django/db/models/query.py"", line 153, in __len__ self._result_cache = list(self.iterator()) File ""/home/isagalaev/py/django/db/models/query.py"", line 273, in iterator obj = self.model(*row[index_start:]) File ""/home/isagalaev/py/django/db/models/base.py"", line 184, in __init__ raise IndexError(""Number of args exceeds number of fields"") IndexError: Number of args exceeds number of fields }}}" closed Database layer (models, ORM) dev fixed Accepted 0 0 0 0 0 0