#1
by
AndreL
(edited )
I have the following in one of my apps =================== class C(BaseConstants): STATES = ['down', 'up'] class Player(BasePlayer): state = models.StringField() def creating_session(subsession: Subsession): import random for plr in subsession.get_players(): ======================= If I use within that loop plr.state=random.choice(C.STATES) ... I get a roughly even split between 'down' and 'up' However, I want a weighted random choice, thus I try the choices method instead plr.state=random.choices(C.STATES, weights=(10, 90), k=1) ... and then I get a failure to create the session as below. Any help or suggestions on what could be happening? -------------------- Failed to create session: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.InterfaceError) Error binding parameter 8 - probably unsupported type.
#2
by
AndreL
(edited )
.
#3
by
Chris_oTree
Try using a print statement to see what random.choices is returning.