From e2b91d55806bb7278bf046398d9ced9309924895 Mon Sep 17 00:00:00 2001 From: CodeNinja04 Date: Thu, 16 May 2024 15:20:55 +0530 Subject: [PATCH 1/3] remove renderer from boundfield and exception of direct assignment for m2m field --- django/db/models/fields/related_descriptors.py | 14 +++++++++++--- django/forms/boundfield.py | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py index c49a6cb36ac6..d1ab59342694 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -68,6 +68,9 @@ class Child(Model): from django.db.models import Q, signals from django.db.models.query import QuerySet from django.utils.functional import cached_property +import logging + +logger = logging.getLogger(__name__) class ForwardManyToOneDescriptor: @@ -533,9 +536,14 @@ def _get_set_deprecation_msg_params(self): ) def __set__(self, instance, value): - raise TypeError( - 'Direct assignment to the %s is prohibited. Use %s.set() instead.' - % self._get_set_deprecation_msg_params(), + # raise TypeError( + # 'Direct assignment to the %s is prohibited. Use %s.set() instead.' + # % self._get_set_deprecation_msg_params(), + # ) + logger.warning( + "Direct assignment to the %s is prohibited. Use %s.set() instead for the instance {0} and msg params:{1}".format( + instance,self._get_set_deprecation_msg_params() + ) ) diff --git a/django/forms/boundfield.py b/django/forms/boundfield.py index 7f40fbbbb459..90add72792d8 100644 --- a/django/forms/boundfield.py +++ b/django/forms/boundfield.py @@ -90,7 +90,7 @@ def as_widget(self, widget=None, attrs=None, only_initial=False): name=self.html_initial_name if only_initial else self.html_name, value=self.value(), attrs=attrs, - renderer=self.form.renderer, + # renderer=self.form.renderer, ) def as_text(self, attrs=None, **kwargs): From 6b9c49c7dc4e5f6395e5d557fb3694b96d263ec0 Mon Sep 17 00:00:00 2001 From: CodeNinja04 Date: Thu, 16 May 2024 15:34:37 +0530 Subject: [PATCH 2/3] todo added --- django/db/models/fields/related_descriptors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py index d1ab59342694..33529fe12a5a 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -534,7 +534,7 @@ def _get_set_deprecation_msg_params(self): 'reverse side of a related set', self.rel.get_accessor_name(), ) - + #TODO: This is for debugging purpose will be removed later after patching m2m field issue def __set__(self, instance, value): # raise TypeError( # 'Direct assignment to the %s is prohibited. Use %s.set() instead.' From 8167a938e54ab6217a162c6bb853c10fd308dd9e Mon Sep 17 00:00:00 2001 From: CodeNinja04 Date: Thu, 16 May 2024 15:36:06 +0530 Subject: [PATCH 3/3] todo added --- django/db/models/fields/related_descriptors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py index 33529fe12a5a..2e77d7d466a4 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -534,7 +534,7 @@ def _get_set_deprecation_msg_params(self): 'reverse side of a related set', self.rel.get_accessor_name(), ) - #TODO: This is for debugging purpose will be removed later after patching m2m field issue + #TODO: This is for debugging purpose and will be removed later after patching m2m field assignment issue def __set__(self, instance, value): # raise TypeError( # 'Direct assignment to the %s is prohibited. Use %s.set() instead.'