Django フィールドの +- 演算子をオーバーレイしたい:
x+y --> x | y (bitwise or)
x-y --> x & (~y) (almost the inverse of above)
オーバーレイ定義をどこに置くか? 以下は間違っています:
class BitCounter(models.BigIntegerField):
description = "A counter used for statistical calculations"
__metaclass__ = models.SubfieldBase
def __radd__(self, other):
return self | other
def __sub__(self, other):
return self & (^other)