动态访问Django模型字段python

2024-09-28 01:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模型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()

我传递的是1-7范围内的整数id和来自AJAX的名称。现在我想得到levelXïid,它有各自的id和名称,X是id(1-7)。你知道吗

我就是这么做的。你知道吗

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

我能把它做得更普通些吗。差不多吧。你知道吗

level_X_id = "level"+id+"_id"
level_name = Level.objects.all(level_name = name)[0].level_X_id

Tags: nameidifobjectsmodelsalllevelintegerfield

热门问题