def METHOD_NAME(self, name, value, attrs):
    # This adds null options to DynamicModelMultipleChoiceField selected choices
    # example <select ..>
    #           <option .. selected value="null">None</option>
    #           <option .. selected value="1234-455...">Rack 001</option>
    #           <option .. value="1234-455...">Rack 002</option>
    #          </select>
    # Prepend null choice to self.choices if
    # 1. form field allow null_option e.g. DynamicModelMultipleChoiceField(..., null_option="None"..)
    # 2. if null is part of url query parameter for name(field_name) i.e. http://.../?rack_id=null
    # 3. if both value and choices are iterable
    if (
        self.attrs.get("data-null-option")
        and isinstance(value, (list, tuple))
        and "null" in value
        and isinstance(self.choices, Iterable)
    ):
        class ModelChoiceIteratorWithNullOption(ModelChoiceIterator):
            def __init__(self, *args, **kwargs):
                self.null_options = kwargs.pop("null_option", None)
                super().__init__(*args, **kwargs)
            def __iter__(self):
                # ModelChoiceIterator.__iter__() yields a tuple of (value, label)
                # using this approach first yield a tuple of (null(value), null_option(label))
                yield "null", self.null_options
                for item in super().__iter__():
                    yield item
        null_option = self.attrs.get("data-null-option")
        self.choices = ModelChoiceIteratorWithNullOption(field=self.choices.field, null_option=null_option)
    return super().METHOD_NAME(name, value, attrs)