I need something like that function for Django.
Reason: I write widget with separate config for admin and other pages. Config determined in custom field:
class Article(models.Model):
field = CustomField(config={'default': {}, 'admin': {}})
For this reason I can't extend AdminTextareaWidget with my widget (part of current code below). Or can I? How?
class CustomField(TextField):
def __init__(self, config, *args, **kwargs):
self.config = dict_merge(initial_config, config)
super(CustomField, self).__init__(*args, **kwargs)
def formfield(self, **kwargs):
###################################
# need to check for admin page here
###################################
defaults = {'widget': CustomWidget(self.config)}
defaults.update(kwargs)
return super(CustomField, self).formfield(**defaults)
class CustomWidget(Textarea):
def __init__(self, config, attrs=None):
#########
# or here
#########
self.config = config
super(CustomWidget, self).__init__(attrs)