【发布时间】:2020-03-09 00:02:57
【问题描述】:
我有来自同一个表的两行,我想为这些行获取具有不同值的列名。
我知道我可以通过一个简单的for 循环来实现这一点,如下例所示,但也许 django 已经有一种方法可以完成这一点。
class MyModel(models.Model):
name = models.CharField(max_length=30)
email = models.EmailField()
#---
a = MyModel(name='A', email='a@z.com')
a.save()
b = MyModel(name='B', email='b@z.com')
b.save()
#---
recA = MyModel.object.get(pk=1)
recB = MyModel.object.get(pk=2)
#---
diff = []
colNames = [
'email',
'name',
]
for a in colNames:
if getattr(recA, a) == getattr(recB, a):
pass
else:
diff.append(a)
【问题讨论】:
-
你能分享一些你想如何比较的代码吗?
-
@ruddra。已添加示例。
标签: django python-3.x django-models