首页 > 解决方案 > 如何在 objects.get() 函数中设置动态字段名称

问题描述

我想创建一个 mixin,它允许我更改get函数的字段,如下所示:

class MyMixin(self):

    myfield = 'field1' 

    def myfunct(self):

        i = MyModel.objects.get(self.myfield=myvar)

这样所需的代码就会运行MyModel.objects.get(field1=myvar)

但是,这种方法返回

SyntaxError: 表达式不能包含赋值

如何动态设置这样的字段名称?

标签: djangodjango-models

解决方案


你可以这样做:

kwargs = {self.myfield: myvar}
MyModel.objects.get(**kwargs)

推荐阅读