【发布时间】:2014-03-17 16:01:01
【问题描述】:
我有一个类似以下的 peewee 模型:
class Parrot(Model):
is_alive = BooleanField()
bought = DateField()
color = CharField()
name = CharField()
id = IntegerField()
我从用户那里获取这些数据并在(MySQL)数据库中查找相应的 id。我现在要做的是更新那些目前未设置/为空的属性。例如,如果新数据具有以下属性:
is_alive = True
bought = '1965-03-14'
color = None
name = 'norwegian'
id = 17
数据库中的数据有:
is_alive = False
bought = None
color = 'blue'
name = ''
id = 17
我想更新购买日期和名称(未设置或为空),但不更改 is_alive 状态。在这种情况下,我可以在不同的类实例中获取新旧数据,手动创建属性列表并一对一进行比较,在必要时进行更新,最后将结果保存到数据库中。但是,我觉得可能有更好的方法来处理这个问题,它也可以用于具有任何属性的任何类。有吗?
【问题讨论】: