﻿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
28597	Class-based model indexes containing default primary key doesn't work.	Дилян Палаузов	Mariusz Felisiak	"This works:
{{{
class Z(models.Model)
  a = models.BooleanField()
  class Meta:
   index_together = ['a', 'id']`
}}}

but this does not:
{{{
  class Meta:
    indexes = [ models.Index(fields=['a', 'id']) ]
}}}

{{{

 File ""d/models.py"", line 589, in <module>
    class Z(models.Model):
  File ""django/lib/python3.5/site-packages/django/db/models/base.py"", line 314, in __new__
    index.set_name_with_model(new_class)
  File ""django/lib/python3.5/site-packages/django/db/models/indexes.py"", line 105, in set_name_with_model
    column_names = [model._meta.get_field(field_name).column for field_name, order in self.fields_orders]
  File ""django/lib/python3.5/site-packages/django/db/models/indexes.py"", line 105, in <listcomp>
    column_names = [model._meta.get_field(field_name).column for field_name, order in self.fields_orders]
  File ""django/lib/python3.5/site-packages/django/db/models/options.py"", line 611, in get_field
    ""be available yet."" % (self.object_name, field_name)
django.core.exceptions.FieldDoesNotExist: Z has no field named 'id'. The app cache isn't ready yet, so if this is an auto-created related field, it won't be available yet.

}}}

Using 'pk' instead does not help.

Providing, that ""The newer indexes option provides more functionality than index_together. index_together may be deprecated in the future"", how shall I deal with indexes=  including the 'id' ?"	Bug	closed	Database layer (models, ORM)	1.11	Release blocker	fixed	Model.Meta.indexes	Phil Krylov	Accepted	1	0	0	0	0	0
