0
You might consider using a MultiValueField combined with a MultiWidget. The advantage that will give you is that the MultiValueField has a compress method, which you could leverage to take your input and convert it into decimal form, and the MultiWidget has a decompress method to take that decimal and convert it into a string and display it how you want.
I wrote a Feet and Inches widget that converts a decimal into feet, inches and fractional inches (10′ 3 1/2″ which is stored in the database as 123.5), which does almost what you want. Hope that helps you out!
Source:stackexchange.com