根据它们的值比较两个不同的类

时间:2019-12-03 08:16:16

标签: django python-3.x compare

我正在尝试根据它们的实际值比较两个变量,但它不起作用,我认为是因为它们来自不同的类。
这是一个示例:

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' >

有什么方法可以比较两个变量的值,无论它们属于哪个类。

1 个答案:

答案 0 :(得分:0)

您无法与查询集进行比较,需要使用您选择的字段名称来进行比较。
这是一个例子: 假设ModelInfo的字段类似name,那么您要做的就是 将字符串m与模型实例的字段进行比较(假设字段name也是一个字符串),即:

m = 'X-POWER 3'
for model in models:
    if m == model.name:
        check = 'accepted'
    ... # continuation of your code