Opened 3 years ago
Closed 3 years ago
#34382 closed Uncategorized (invalid)
DEFAULT_AUTO_FIELD ignored for new models
| Reported by: | Alberto Donato | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 3.2 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Setting the value of DEFAULT_AUTO_FIELD to e.g. AutoField seems to be ignored when generating migrations for new models.
A simple reproducer is to create a new project, change the setting as follows:
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
and adding a simple model such as:
class SampleModel(models.Model):
name = models.TextField(unique=True)
After running ./manage.py makemigrations the following migration is generated:
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='SampleModel',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.TextField(unique=True)),
],
),
]
Same behavior can be reproduced both in 3.2 and 4.1.7.
Change History (1)
comment:1 by , 3 years ago
| Component: | Uncategorized → Database layer (models, ORM) |
|---|---|
| Resolution: | → invalid |
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Thanks for this report, however it works for me. You can check
AppConfig.default_auto_fieldin your apps, it's probably set toBigAutoField, see Automatic primary key fields for more details.