Loading django/contrib/admin/options.py +5 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,11 @@ class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)): except FieldDoesNotExist: return False # Check whether this model is the origin of a M2M relationship # in which case to_field has to be the pk on this model. if opts.many_to_many and field.primary_key: return True # Make sure at least one of the models registered for this site # references this field through a FK or a M2M relationship. registered_models = set() Loading docs/releases/1.4.16.txt +8 −1 Original line number Diff line number Diff line Loading @@ -4,10 +4,17 @@ Django 1.4.16 release notes *Under development* Django 1.4.16 fixes a regression in the 1.4.14 security release. Django 1.4.16 fixes a couple regressions in the 1.4.14 security release and a bug preventing the use of some GEOS versions with GeoDjango. Bugfixes ======== * Allowed related many-to-many fields to be referenced in the admin (`#23604 <http://code.djangoproject.com/ticket/23604>`_). * Allowed inline and hidden references to admin fields (`#23431 <http://code.djangoproject.com/ticket/23431>`_). * Fixed parsing of the GEOS version string (`#20036 <http://code.djangoproject.com/ticket/20036>`_). docs/releases/1.5.11.txt +4 −1 Original line number Diff line number Diff line Loading @@ -4,10 +4,13 @@ Django 1.5.11 release notes *Under development* Django 1.5.11 fixes a regression in the 1.5.9 security release. Django 1.5.11 fixes a couple regressions in the 1.5.9 security release. Bugfixes ======== * Allowed related many-to-many fields to be referenced in the admin (`#23604 <http://code.djangoproject.com/ticket/23604>`_). * Allowed inline and hidden references to admin fields (`#23431 <http://code.djangoproject.com/ticket/23431>`_). tests/regressiontests/admin_views/admin.py +2 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ from .models import (Article, Chapter, Account, Media, Child, Parent, Picture, AdminOrderedCallable, Report, Color2, UnorderedObject, MainPrepopulated, RelatedPrepopulated, UndeletableObject, UserMessenger, Simple, Choice, ShortMessage, Telegram, ReferencedByParent, ChildOfReferer, M2MReference, ReferencedByInline, InlineReference, InlineReferer) ReferencedByInline, InlineReference, InlineReferer, Ingredient) def callable_year(dt_value): Loading Loading @@ -746,6 +746,7 @@ site.register(Color2, CustomTemplateFilterColorAdmin) site.register(Simple, AttributeErrorRaisingAdmin) site.register(UserMessenger, MessageTestingAdmin) site.register(Choice, ChoiceList) site.register(Ingredient) # Register core models we need in our tests from django.contrib.auth.models import User, Group Loading tests/regressiontests/admin_views/models.py +9 −0 Original line number Diff line number Diff line Loading @@ -708,3 +708,12 @@ class InlineReference(models.Model): class InlineReferer(models.Model): refs = models.ManyToManyField(InlineReference) # Models for #23604 class Recipe(models.Model): name = models.CharField(max_length=20) class Ingredient(models.Model): name = models.CharField(max_length=20) recipes = models.ManyToManyField('Recipe', related_name='ingredients') Loading
django/contrib/admin/options.py +5 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,11 @@ class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)): except FieldDoesNotExist: return False # Check whether this model is the origin of a M2M relationship # in which case to_field has to be the pk on this model. if opts.many_to_many and field.primary_key: return True # Make sure at least one of the models registered for this site # references this field through a FK or a M2M relationship. registered_models = set() Loading
docs/releases/1.4.16.txt +8 −1 Original line number Diff line number Diff line Loading @@ -4,10 +4,17 @@ Django 1.4.16 release notes *Under development* Django 1.4.16 fixes a regression in the 1.4.14 security release. Django 1.4.16 fixes a couple regressions in the 1.4.14 security release and a bug preventing the use of some GEOS versions with GeoDjango. Bugfixes ======== * Allowed related many-to-many fields to be referenced in the admin (`#23604 <http://code.djangoproject.com/ticket/23604>`_). * Allowed inline and hidden references to admin fields (`#23431 <http://code.djangoproject.com/ticket/23431>`_). * Fixed parsing of the GEOS version string (`#20036 <http://code.djangoproject.com/ticket/20036>`_).
docs/releases/1.5.11.txt +4 −1 Original line number Diff line number Diff line Loading @@ -4,10 +4,13 @@ Django 1.5.11 release notes *Under development* Django 1.5.11 fixes a regression in the 1.5.9 security release. Django 1.5.11 fixes a couple regressions in the 1.5.9 security release. Bugfixes ======== * Allowed related many-to-many fields to be referenced in the admin (`#23604 <http://code.djangoproject.com/ticket/23604>`_). * Allowed inline and hidden references to admin fields (`#23431 <http://code.djangoproject.com/ticket/23431>`_).
tests/regressiontests/admin_views/admin.py +2 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ from .models import (Article, Chapter, Account, Media, Child, Parent, Picture, AdminOrderedCallable, Report, Color2, UnorderedObject, MainPrepopulated, RelatedPrepopulated, UndeletableObject, UserMessenger, Simple, Choice, ShortMessage, Telegram, ReferencedByParent, ChildOfReferer, M2MReference, ReferencedByInline, InlineReference, InlineReferer) ReferencedByInline, InlineReference, InlineReferer, Ingredient) def callable_year(dt_value): Loading Loading @@ -746,6 +746,7 @@ site.register(Color2, CustomTemplateFilterColorAdmin) site.register(Simple, AttributeErrorRaisingAdmin) site.register(UserMessenger, MessageTestingAdmin) site.register(Choice, ChoiceList) site.register(Ingredient) # Register core models we need in our tests from django.contrib.auth.models import User, Group Loading
tests/regressiontests/admin_views/models.py +9 −0 Original line number Diff line number Diff line Loading @@ -708,3 +708,12 @@ class InlineReference(models.Model): class InlineReferer(models.Model): refs = models.ManyToManyField(InlineReference) # Models for #23604 class Recipe(models.Model): name = models.CharField(max_length=20) class Ingredient(models.Model): name = models.CharField(max_length=20) recipes = models.ManyToManyField('Recipe', related_name='ingredients')