Reputation: 2148
I've a model Level
class Level:
level1_id = models.IntegerField()
level2_id = models.IntegerField()
level3_id = models.IntegerField()
level4_id = models.IntegerField()
level5_id = models.IntegerField()
level6_id = models.IntegerField()
level7_id = models.IntegerField()
level_name = models.CharField()
I'm passing and integer id in the range of 1-7 and a name from AJAX. Now I want to get the levelX_id with respective id and name, X being id(1-7).
This is how I'm doing.
id = request.POST['id']
name = request.POST['name']
if id == 1:
level_name = Level.objects.all(level_name = name)[0].level1_id
if id == 2:
level_name = Level.objects.all(level_name = name)[0].level2_id
if id == 3:
level_name = Level.objects.all(level_name = name)[0].level3_id
if id == 4:
level_name = Level.objects.all(level_name = name)[0].level4_id
if id == 5:
level_name = Level.objects.all(level_name = name)[0].level5_id
if id == 6:
level_name = Level.objects.all(level_name = name)[0].level6_id
if id == 7:
level_name = Level.objects.all(level_name = name)[0].level7_id
Can I make it more generic. something like.
level_X_id = "level"+id+"_id"
level_name = Level.objects.all(level_name = name)[0].level_X_id
Upvotes: 1
Views: 63