How to add custom data fields to multiple user types with Django in a maintainable way that lets us easily use Django forms or DRF serializers. Features an exciting ending with a coffee cup!
Continues from where the "Multiple User Types | Django video finishes. Watch that video at on youtube.
Code from the video, with full source code available on github:
class SpyMore(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
gadgets = models.TextField()
class Spy(User):
base_type = User.Types.SPY
objects = SpyManager()
class Meta:
proxy = True
def whisper(self):
return "whisper"
class DriverMore(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
model = models.CharField(max_length=255)
make = models.CharField(max_length=255)
year = models.IntegerField()
class Driver(User):
base_type = User.Types.DRIVER
objects = DriverManager()
@property
def more(self):
return self.drivermore
class Meta:
proxy = True
def accelerate(self):
return "Go faster"
Tell me what intermediate-to-advanced topic you want me to cover next!
Top comments (1)
hi sir i hope you be well, can you help me with my issue please, i building a project for jobs and hire and i want to companies user model and employ user model and i watcged the video it was really great information but i need to hve two specific database tables one for companies abd one for simple users(employers) how can i do that?