python cassandra ドライバーからの次の例
class Users(Model):
username = columns.Text(index=True, required=True)
user_id = columns.UUID(index=True, default=uuid.uuid4)
email = columns.Text(primary_key=True, required=True)
passwd = columns.Text()
salt = columns.Text()
そして、次の方法でオブジェクトを作成します。
u = Users()
u.username = 'admin'
u.email = 'test@test.com'
u.password = u'test' #This is property with setter
Users.create(**dict(u))
この場合、user_id:None
代わりにuser_id:uuid.uuid4
対応するエラーが発生します。
default = uuid.uuid4
痛みの少ない仕事をする方法は?
UPDto_database
UUID列のメソッドのオーバーライドが原因だと思います。to_database
これは基本メソッドと競合します。
UPD2悪いケースのようです。ステップでエラーが発生**dict(u)
解決:
d = dict(u)
del d['column_with_default_value']
Users.create(**d)