我有一种情况,我被要求阅读来自各种来源的数据库更新说明集合。所有源都将包含一个主键值,以便将更新应用于数据库的代码可以找到正确的记录。但是,这些文件会在报告的附加列中有所不同。
当我阅读并创建我的更新说明时,我必须区分提供了列(例如,MiddleName)但为空的更新(意味着没有中间名并且该字段应更新为 NULL)和其中 MiddleName不包括字段(意味着更新根本不应该触及中间名列)。
前一种情况(提供了列但没有值)似乎适当地由None值表示。然而,对于第二种情况,我想要一个NotInFile “值”,我可以使用类似于我使用 None 的方式。
执行此操作的正确方法如下?
NotInFile = 1
class PersonUpdate(object):
def __init__(self):
self.PersonID = None
self.FirstName = NotInFile
self.MiddleName = NotInFile
然后在另一个模块中
import othermod
upd = othermod.PersonUpdate()
if upd.MiddleName is othermod.NotInFile:
print 'Hey, middle name was not supplied'