首页 > 解决方案 > 根据它们的值比较两个不同的类

问题描述

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

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

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

标签: djangopython-3.xcompare

解决方案


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

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

推荐阅读