删除peewee中的重复条目

时间:2014-12-08 19:52:52

标签: duplicates peewee

我有一个快速的功能,我把它放在一起,以便在给定特定字段组合的情况下删除表格中的重复项:

for l in table.select():
    if table.select().where((table.Field1==l.Field1) & (table.Field2==l.Field2) & ....).count()>1:
        l.delete()
        l.save()

但我想有更好的方法来做到这一点

1 个答案:

答案 0 :(得分:4)

您可以在希望唯一的列上添加唯一约束,然后让数据库为您强制执行规则。那是最好的方式。

对于小便,看起来像:

class MyModel(Model):
    first_name = CharField()
    last_name = CharField()
    dob = DateField()

    class Meta:
        indexes = (
            (('first_name', 'last_name', 'dob'), True),
        )

文档:http://docs.peewee-orm.com/en/latest/peewee/models.html#indexes-and-unique-constraints