I like it but it's downside is bypassing Django validation by hiding the attributes. Either way the solution to this will not be 100% clean :)