The "how" is easy. Here is a fragment from my code where the problem is that every instance of FilesForm has content dependent on external factors (the "..." below):
class FilesForm(forms.Form):
def __init__(self, *args, **kwargs):
self.declared_fields = OrderedDict()
for name, field in ....items():
self.declared_fields[name] = field
super().__init__(*args, **kwargs)
The "why" is a deeper question, but in short, that's what the source code says the DeclarativeFieldsMetaClass for forms uses. Technically, I believe the code is a little ick because self.declared_fileds is a class member, not an instance member and so needs the funny-looking assignment so the instance has a value it can hack. You may need to copy the original dict as in "self.declared_fields = OrderedDict(self.declared_fields)" depending on your use case.
(Generally, the Django docs are amazing, but this is one area where I needed the source.)
Shaheed