我有一个快速的功能,我把它放在一起,以便在给定特定字段组合的情况下删除表格中的重复项:
for l in table.select():
if table.select().where((table.Field1==l.Field1) & (table.Field2==l.Field2) & ....).count()>1:
l.delete()
l.save()
但我想有更好的方法来做到这一点
答案 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