using formfield_overrides to set CharField size causes all admin fields to use last max_length in model definition
Here's my example. 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)
All tests pass on Python 2.7.3/SQlite and the added testcase failed if the
django/contrib/admin/options.py
patch is not applied.Looks good to me, marking as RFC.