The only "gotcha" I can thiink of is for implementation, need to ensure user can change the implementation class. Currently an __implementation__ attribute on the Options should allow per-model specification which is likely sufficient for now. In general, explicitly set implementation as a ModelType attribute. Since this is a mutable attribute, it should also allow project-level specification of default. Then should rename the implementation classes to include Implementation to reduce confusion.
For fields, element_class should get set as a metaclass argument.
The only "gotcha" I can thiink of is for implementation, need to ensure user can change the implementation class. Currently an
__implementation__attribute on the Options should allow per-model specification which is likely sufficient for now. In general, explicitly set implementation as a ModelType attribute. Since this is a mutable attribute, it should also allow project-level specification of default. Then should rename the implementation classes to include Implementation to reduce confusion.For fields,
element_classshould get set as a metaclass argument.