django - 根据它们的值比较两个不同的类
问题描述
我试图根据它们的实际值比较两个变量,但它不起作用,我认为这是因为它们来自不同的类。
这是一个例子:
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' >
有什么方法可以比较两个变量的值,无论它们属于哪个类。
解决方案
您无法与查询集进行比较,您需要使用您选择的字段名称进行比较。
这是一个例子:假设ModelInfo
有一个字段name
,你所要做的就是将字符串m
与模型实例的字段进行比较(假设该字段name
也是一个字符串),即:
m = 'X-POWER 3'
for model in models:
if m == model.name:
check = 'accepted'
... # continuation of your code
推荐阅读
- sql - insert into a table with select
- javascript - 如何压缩 Electron App 的大小
- cmake - 如何在 CMake 中添加 allegro 库?
- sql-server - SQL Server 报告服务器未连接:SQL Server 2019 Enterprise
- mongodb - Mongo 聚合失败并显示“超过 $group 的内存限制”
- c - 如何从开放地址哈希表返回键比较?
- linux - 为什么我必须将第二个参数返回为 (struct sockaddr*)&ser_addr 而不是 &ser_addr?
- python - 模块“不和谐”没有属性“意图”错误
- c - 将打印语句作为输入的 C 程序
- visual-studio-code - Vim VS Code Extension: How to remap "i" in normal mode to Escape key?