DJANGO - 在功能中传递表名

时间:2016-08-30 15:06:45

标签: python django

我试图学习如何通过函数传递表变量名。例如,假设我有一个类似下面的模型

Bio(models.Model):
    name = models.CharField(max_length=200)
    address = models.CharField(max_length=200)
    country = models.CharField(max_length=200)

现在我希望能够通过该函数传递表名。通常我会做一个

people = Bio.objects.all()
for x in people:
    print x.name

我希望能够通过"名称"通过这样的函数变量......

def print_name(variable):
    people = Bio.objects.all()
    for x in people:
        print x.variable

print_name(name)

我不确定我应该调查什么。感谢。

3 个答案:

答案 0 :(得分:0)

这个怎么样......

print x.__dict__[variable]

现在您可以将此变量作为字符串传递。希望这会有所帮助。

答案 1 :(得分:0)

你可以做到

def print_name(variable):
    everyone= Bio.objects.all()
    for x in everyone:
        print x.__getattribute__("name")

print_name("name")

答案 2 :(得分:0)

尝试以下

def print_name(variable):
    people = Bio.objects.all()
    for x in people:
        print getattr(x, variable)

print_name(name)

可能是这个帮助。