i want to set diffirent sports to diffirent players like below. is there anyway to do this?
Example Model :
class Player(models.Model):
id = models.AutoField(primary_key=True)
sportType = models.CharField(max_length=15)
sportObj = generic.GenericForeignKey('content_type')
class Icehockey(models.Model):
id = models.AutoField(primary_key=True)
stick_brand = models.CharField(max_length=50)
skate_number = models.IntegerField()
class Basketball(models.Model):
id = models.AutoField(primary_key=True)
ball_brand = models.CharField(max_length=50)
uniform_color= models.CharField(max_length=10)
class Football(models.Model):
id = models.AutoField(primary_key=True)
shoeNumber = models.IntegerField()
uniform_size = models.CharField(max_length=10)
Example Usage:
player1 = Player.objects.get(id=1).sportObj // returns <Icehockey object>
player2 = Player.objects.get(id=2).sportObj // returns <Basketball object>
player3 = Player.objects.get(id=3).sportObj // returns <Football object>
player4 = Player.objects.get(id=4).sportObj // returns <Football object>
edit : there is a document on Django Website about How content types works if anyone needs it.