原文で削除前は NULL とあったので、びっくりして調べてみたら、 deleted = Column(Boolean, default=False) でした。
データベースの実装により表現が違うのですね。でも、一方が 1 なら、もう一方は 0 に展開されるはずなので、やはり変ですね。
ちなみに、Grizzly のコードでは Column(Integer, default=0) になっていました。おもしろいですね。