Extending the existing User model

What you’re doing here is creating a Profile model for the User - it’s a completely separate model, related to User by the OneToOne field.

This means that your views, etc, need to work with two separate and independent objects if you’re going to work with them at the same time.

My recommendation in those cases is usually to avoid using the Django-provided CBVs beyond (perhaps) View.

See some of the other conversations here in the forum at:

As you can see, this is a frequently discussed topic.

The basic summary is that you have a couple different ways to approach this, and you should decide which is going to make the most sense to you.