我正在尝试根据它们的实际值比较两个变量,但它不起作用,我认为是因为它们来自不同的类。
这是一个示例:
models = Model_info.objects.all()
m = 'X-POWER 3'
for model in models:
if m == model:
check = 'accepted'
print(check)
break
else:
check = 'rejected'
print(check)
print(f'final resulte is {check}')
因此知道变量m
的值确实存在于查询集models
和中:
type(m) = < class 'str' >
type(model) = < class 'application.models.Model_info' >
有什么方法可以比较两个变量的值,无论它们属于哪个类。
答案 0 :(得分:0)
您无法与查询集进行比较,需要使用您选择的字段名称来进行比较。
这是一个例子:
假设ModelInfo
的字段类似name
,那么您要做的就是
将字符串m
与模型实例的字段进行比较(假设字段name
也是一个字符串),即:
m = 'X-POWER 3'
for model in models:
if m == model.name:
check = 'accepted'
... # continuation of your code