如何在 objects.get() 函数中设置动态字段名称

ali*_*s51 0 django django-models

我想创建一个 mixin,允许我get按如下方式更改函数的字段:

class MyMixin(self):

    myfield = 'field1' 

    def myfunct(self):

        i = MyModel.objects.get(self.myfield=myvar)
Run Code Online (Sandbox Code Playgroud)

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

但是,这种方法返回

语法错误:表达式不能包含赋值

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

wfe*_*ehr 5

你可以这样做:

kwargs = {self.myfield: myvar}
MyModel.objects.get(**kwargs)
Run Code Online (Sandbox Code Playgroud)