Yes, overriding the model field to change the definition of formfield() works. It is indeed possible to define two model field classes which have different formfield() methods, for example:
ManyToManyCheckboxField() ForeignKeyRadioField() Should Django provide such fields ? formfield_callback is documented here: https://docs.djangoproject.com/ja/1.9/ref/forms/models/#modelform-factory It is one of the many ways there are to create a model form which provides a radio widget for a foreign key for example. However, the modelform then has to be passed around / inherited from everywhere then. Issue #26369 is about overriding the default widget that is used by a formfield. The user story is like: I change the default widget used for a model field and this change is applied everywhere. Does this help to see the difference between just overriding in a subclass, and overriding the default used by ModelForm ? [0] https://code.djangoproject.com/ticket/26369 -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at https://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CALC3Kaf5%3D0qNNq%3DdXbJWVxYQOb42VjnwhJ5E5TWHJhLHBQBCww%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.