【发布时间】:2013-02-03 09:52:22
【问题描述】:
我最近在我的代码中打错了字,并注意到我得到了相同的行为,所以我想知道 django 查询中单下划线和双下划线之间的区别是什么。
>>> underscore = MyModel.objects.filter(foreign_key_id=var)
>>> double_underscore = MyModel.objects.filter(foreign_key__id=var)
>>> underscore == double_underscore
False
>>> list(underscore) == list(double_underscore)
True
我不确定使用什么相等方法来比较查询集,但是当我转换为 python 列表时,我发现其中包含完全相同的元素。有没有人对这里发生的事情有所了解?
【问题讨论】:
标签: python mysql django django-models django-queryset