The model code is relying tests on the backend's name which renders them less overridable
Thanks to the mechanism of entry point we can create new backends in separate python packages. Unfortunately if those backend inherits from a backend packaged in tryton (let's say postgis which inherits from postgresql) the developer is confronted to a lot of work because there are tests used the fields that use the backend code.
A solution to this issue is to make the fields the more backend-agnostic that is possible by transfering the responsibility of specifying the correct sql type or the specific coercition methods on the backend.