Django模型对象的两个列表之间的差异

2024-05-13 04:07:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据源。一个是psql表(使用Django模型管理),另一个是CSV。我必须保持表格与csv同步。你知道吗

所以,我目前的程序是:

  1. 从表中读取所有行并创建一组元组,调用它old_data
  2. 从csv读取所有行并创建另一组元组,称之为new data。你知道吗

所以,old_data - new_data给我所有被删除和更新的对象。你知道吗

类似地,new_data - old_data给出了所有已经插入和更新的对象。你知道吗

因此,在上述两个差异中都有primary key的对象将用于更新。 其余部分删除并相应插入。你知道吗

现在,这不是一个Django的方法。(我在比较两组元组,而不是模型对象本身)

这可以通过比较模型对象来实现。你知道吗

更新:

我通过重写__hash__函数来创建对象的哈希。这给了我一些线索。再说一次,这种情况能否进一步改善?你知道吗


Tags: csv对象django模型程序newdata差异