django按字符串访问模型字段

Han*_*ong 1 string django field model

我想知道是否可以从字符串中访问djangomodel中的字段.让我给你举个例子:

类:

class Resource(models.Model):
    town = models.ForeignKey(Town, unique=True)

    coin = models.IntegerField()
    wood = models.IntegerField()
    iron = models.IntegerField()
    grain = models.IntegerField()
    stone = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

现在在我的其他代码的某处,我想访问这样的字段

example="coin"
resources = Resource.objects.get(town="some town"):
resources.example
Run Code Online (Sandbox Code Playgroud)

我知道resources.example不起作用,我想知道是否有某种方法可以实现这一点?

亲切的问候,Hans de Jong

Iai*_*ton 5

您可以使用getattr内置函数按名称访问python中任何对象的属性

example="coin"
resources = Resource.objects.get(town="some town"):
getattr(resources, example)
Run Code Online (Sandbox Code Playgroud)