{{{#!python
class GeneratedBooleanFieldModel(Model):
value = IntegerField(null=True)
has_value = GeneratedField(
expression=Q(value__isnull=False),
output_field=BooleanField(),
db_persist=False,
)
}}}
crashes with:
{{{
File "/home/jenkins/workspace/pull-requests-
focal/database/spatialite/label/focal-
pr/python/python3.10/django/db/models/query.py", line 1845, in _insert
return query.get_compiler(using=using).execute_sql(returning_fields)
File "/home/jenkins/workspace/pull-requests-
focal/database/spatialite/label/focal-
pr/python/python3.10/django/db/models/sql/compiler.py", line 1853, in
execute_sql
rows = list(self.apply_converters(rows, converters))
File "/home/jenkins/workspace/pull-requests-
focal/database/spatialite/label/focal-
pr/python/python3.10/django/db/models/sql/compiler.py", line 1500, in
apply_converters
value = row[pos]
IndexError: list index out of range
}}}
This is a long standing issue, however it caused a crash of
`GeneratedField` for all output fields that have backend-specific
converters when `RETURNING` clause is not supported (MySQL and SQLite <
3.35). We should exacerbate severity to a release blocker.
Regression in d9de74141e8a920940f1b91ed0a3ccb835b55729.
--
Ticket URL: <https://code.djangoproject.com/ticket/35024>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Comment (by Mariusz Felisiak):
[https://github.com/django/django/pull/17587 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/35024#comment:1>
* has_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/35024#comment:2>
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/35024#comment:3>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"5b3b791e9046461901df3898be8544e14d91b931" 5b3b791]:
{{{
#!CommitTicketReference repository=""
revision="5b3b791e9046461901df3898be8544e14d91b931"
Fixed #35024 -- Fixed model instance creation crash on
GeneratedField.output_field with backend converters.
Regression in d9de74141e8a920940f1b91ed0a3ccb835b55729.
This is a long standing issue, however it caused a crash of
GeneratedFields for all output fields that have backend-specific
converters when the RETURNING clause is not supported
(MySQL and SQLite < 3.35).
That's why severity was exacerbated.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/35024#comment:4>
Comment (by Mariusz Felisiak <felisiak.mariusz@…>):
In [changeset:"415a08a5283a0f76408ec23c6f6af4a0002d7651" 415a08a5]:
{{{
#!CommitTicketReference repository=""
revision="415a08a5283a0f76408ec23c6f6af4a0002d7651"
[5.0.x] Fixed #35024 -- Fixed model instance creation crash on
GeneratedField.output_field with backend converters.
Regression in d9de74141e8a920940f1b91ed0a3ccb835b55729.
This is a long standing issue, however it caused a crash of
GeneratedFields for all output fields that have backend-specific
converters when the RETURNING clause is not supported
(MySQL and SQLite < 3.35).
That's why severity was exacerbated.
Backport of 5b3b791e9046461901df3898be8544e14d91b931 from main
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/35024#comment:5>