Django:如何从模型实例中按字段名称动态获取字段?

Bor*_*kov 7 django

我有一个模型实例和一个包含我必须打印的字段名称的变量:

field_name = "is_staff"
user = User.objects.get(pk=0)
Run Code Online (Sandbox Code Playgroud)

如何通过 field_name 获取该字段的值?我不能只说user.is_staff,因为我无法对该字段进行硬编码is_staff

重要的是,我需要为该字段分配一个值,以这种方式获得:user.is_staff = True.

Muh*_*san 14

使用可以使用`getattr'。它是这样工作的

field_name = "is_staff"
user = User.objects.get(pk=0)
field_name_val = getattr(user, field_name)
Run Code Online (Sandbox Code Playgroud)

  • @Bob 分配使用`setattr(user, field_name, False)` (4认同)