Adding custom fields to users in Django

The recommended way is to create a new model and give it a OneToOneField() with the built-in User model like so:

class Student(models.Model):
    user = models.OneToOneField(User)
    college = models.CharField(max_length=30)
    major = models.CharField(max_length=30)

etc.

Then you can access the fields like this:

user = User.objects.get(username="jsmith")
college = user.student.college

Leave a Comment

File not found.