私はauth_user
テーブルにuuid
フィールドを追加し、以下のように、web2py_uuid()
にこのフィールドのdefault
値を設定しました:複数の呼び出しで同じ値を返すweb2py_uuid()?
モジュール:
class User_Custom(Base):
def __init__(self, ...):
...
auth.settings.extra_fields['auth_user']= [
Field('uuid', type='string', default = web2py_uuid(),
readable=False, writable=False, label=current.T('UUID')),
]
私はいくつかのカスタム関数を使用していますデータベースを作成し、auth_user
の各ユーザーが同じuuid
値になっていることを確認します。
`populate.py」モデルファイル:
def create_user():
user_dict = dict(
first_name = random.choice(FIRST_NAMES),
last_name = random.choice(LAST_NAMES),
email = ...,
password = ..,
)
return db.auth_user.insert(**user_dict)
def create_profile(count = 100):
for idx in range(count):
user_id = create_user()
# create a bunch of data for tables referenced by db.auth_user
私は上記の方法で作成した各ユーザーは、ユーザーが作成されるたびに呼び出されますweb2py_uuidユニークなUUID(すなわちを持っているだろうという印象の下にありました、毎回ユニークな出力が生成されることに注意してください)。 create_profile()
の1回の呼び出しで生成されるすべてのユーザーでUUIDの値が均一であることが予想されますか?上記の例のようにdefault
パラメータを使用すると、各ユーザーが一意のuuid値を持つことを保証する方法はありますか?
ありがとうございました! – Boa