4
I had the same issue. Itβs a Django 1.4 bug, so I just filed a report. Hereβs the ticket I filed, with an easy way to recreate the bug:
title: using formfield_overrides to set CharField size causes all admin fields to use last max_length in model definition
description:
See how title and ISBN are defined with max_length of 100 and 14. The override cause both fields to have max_length of 14 with respect to a user who is editing in the change form β a 15th character cannot be inserted into the title field.
models.py:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100,blank=True, null=True)
ISBN13 = models.CharField(max_length=14,unique=True)
def __unicode__(self):
return self.title
admin.py:
from django.contrib import admin
from django.db import models
from django.forms import TextInput
from books.models import Book
class BookAdmin(admin.ModelAdmin):
formfield_overrides = {
# Django enforces maximum field length of 14 onto 'title' field when user is editing in the change form
models.CharField: {'widget': TextInput(attrs={'size':'30'})},
}
admin.site.register(Book,BookAdmin)
EDIT: Within 48 hours of my bug submission, the amazing Django community verified the bug and issued a patch. I tested and confirmed that this bug was fixed in Django 1.5, which was released in March, 2013.