Module models

Requires feature/dashboard-model to be merged
Why is this using a CharArrayField? I think I'm probably just not aware of the benefits or reasoning behind the array type in postgres