Ich habe ein uuid
Feld an die auth_user
Tabelle, und stellen Sie die auf web2py_uuid()
default
Wert dieses Feldes hinzugefügt, wie in den folgenden:web2py_uuid() gibt den gleichen Wert über mehrere Aufrufe zurück?
Modul:
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')),
]
ich einige benutzerdefinierte Funktionen um meine Datenbank aufzufüllen und zu finden, dass jeder Benutzer in auth_user
mit dem gleichen uuid
Wert endet.
`populate.py‘ Modelldatei:
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
Ich hatte den Eindruck, dass jeder in der oben beschriebenen Weise erstellt Benutzer eine eindeutige UUID haben würde (dh, die jedes Mal, wenn ein Benutzer aufgerufen werden web2py_uuid würde geschaffen und dass es jedes Mal eine eindeutige Ausgabe erzeugt). Ist das erwartete Verhalten, dass der Uuid-Wert für alle Benutzer einheitlich ist, die durch einen einzelnen Aufruf von create_profile()
generiert werden? Gibt es eine Möglichkeit zu garantieren, dass jeder Benutzer einen eindeutigen Uuid-Wert hat, wenn der Parameter default
wie im obigen Beispiel verwendet wird?
Verstanden. Vielen Dank! – Boa