如何在Django中检查两个模型是否相等?

时间:2018-05-31 09:07:04

标签: python django models

models.py:

class office_list(models.Model):
    name = models.CharField(max_length= 100)
    num_of_pax = models.IntegerField()

class tg_list(models.Model):
    name = models.CharField(max_length= 100)
    num_of_pax = models.IntegerField()

如何检查office_list名称是否等于tg_list名称? 我想检查一下office_list.name ==是否有任何tg_list.name

2 个答案:

答案 0 :(得分:2)

如果你想要

  

任何office_list.name ==任何tg_list.name

您可以使用exists进行简单查询:

names = tg_list.objects.values_list('name', flat=True)
office_list.objects.filter(name__in=names).exists()

答案 1 :(得分:0)

来自Django doc

比较两个模型实例,只需使用标准Python比较运算符,双等号:==。在幕后,比较两个模型的主键值。

Youu也可以在python中使用__eq__

另见python docs