[Django] #28597: Model.Meta.indexes : model has no field named 'id'

13 views
Skip to first unread message

Django

unread,
Sep 14, 2017, 12:45:27 PM9/14/17
to django-...@googlegroups.com
#28597: Model.Meta.indexes : model has no field named 'id'
-------------------------------------+-------------------------------------
Reporter: Дилян | Owner: nobody
Палаузов |
Type: Bug | Status: new
Component: | Version: 1.11
Uncategorized |
Severity: Normal | Keywords: Model.Meta.indexes
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
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' ?

--
Ticket URL: <https://code.djangoproject.com/ticket/28597>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Sep 17, 2017, 2:13:23 AM9/17/17
to django-...@googlegroups.com
#28597: Model.Meta.indexes : model has no field named 'id'
------------------------------------+------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: assigned
Component: Uncategorized | Version: 1.11
Severity: Release blocker | Resolution:
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------------+------------------------------------
Changes (by felixxm):

* status: new => assigned
* owner: nobody => felixxm
* severity: Normal => Release blocker
* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:1>

Django

unread,
Sep 17, 2017, 4:49:36 AM9/17/17
to django-...@googlegroups.com
#28597: Model.Meta.indexes : model has no field named 'id'
------------------------------------+------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: assigned
Component: Uncategorized | Version: 1.11
Severity: Release blocker | Resolution:
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------------+------------------------------------
Changes (by felixxm):

* has_patch: 0 => 1


Comment:

[https://github.com/django/django/pull/9096 PR]

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:2>

Django

unread,
Sep 17, 2017, 7:35:54 AM9/17/17
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.

------------------------------------+------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: assigned
Component: Uncategorized | Version: 1.11
Severity: Release blocker | Resolution:
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------------+------------------------------------

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:3>

Django

unread,
Sep 17, 2017, 7:37:03 AM9/17/17
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.
-------------------------------------+-------------------------------------

Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: assigned
Component: Database layer | Version: 1.11
(models, ORM) |

Severity: Release blocker | Resolution:
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* component: Uncategorized => Database layer (models, ORM)


--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:4>

Django

unread,
Sep 18, 2017, 2:22:35 PM9/18/17
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.
-------------------------------------+-------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: closed

Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Release blocker | Resolution: fixed

Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Graham <timograham@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"fb02ebe889eee292144f9157ed4ddcdcc139eba9" fb02ebe]:
{{{
#!CommitTicketReference repository=""
revision="fb02ebe889eee292144f9157ed4ddcdcc139eba9"
Fixed #28597 -- Fixed crash with the name of a model's autogenerated
primary key in an Index's fields.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:5>

Django

unread,
Sep 5, 2018, 6:32:47 AM9/5/18
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.
-------------------------------------+-------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: closed
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Release blocker | Resolution: fixed
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Phil Krylov):

* cc: Phil Krylov (added)


Comment:

Can someone backport this to 1.11, please?

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:6>

Django

unread,
Sep 5, 2018, 10:21:25 AM9/5/18
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.
-------------------------------------+-------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: closed
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Release blocker | Resolution: fixed
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Simon Charette):

This won't be backported to 1.11 per our
[https://docs.djangoproject.com/en/2.1/internals/release-process/ backport
policy].

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:7>

Django

unread,
Sep 5, 2018, 9:25:41 PM9/5/18
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.
-------------------------------------+-------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: closed
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Release blocker | Resolution: fixed
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Дилян Палаузов):

The correction is included in Django 1.11.6, see the release notes.

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:8>

Django

unread,
Sep 5, 2018, 9:33:39 PM9/5/18
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.
-------------------------------------+-------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: closed
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Release blocker | Resolution: fixed
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Simon Charette):

Hmm it's weird that the backport wasn't reported back here like the commit
against master was.

Here it is for reference cee07ba0880e9d1396795e4823a7371da90cc5cc

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:9>

Django

unread,
Sep 6, 2018, 5:56:41 AM9/6/18
to django-...@googlegroups.com
#28597: Class-based model indexes containing default primary key doesn't work.
-------------------------------------+-------------------------------------
Reporter: Дилян Палаузов | Owner: felixxm
Type: Bug | Status: closed
Component: Database layer | Version: 1.11
(models, ORM) |
Severity: Release blocker | Resolution: fixed
Keywords: Model.Meta.indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Phil Krylov):

Thanks! For some reason I am still getting this error on 1.11.9. I'll
recheck.

--
Ticket URL: <https://code.djangoproject.com/ticket/28597#comment:10>

Reply all
Reply to author
Forward
0 new messages