1

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)
4

1 に答える 1