Django, Randomisierung des "Standard" -Parameters eines Modells

8

Ich möchte den "default" -Wert als einen zufällig generierten String für den promotion_code-Teil meines Promotion-Modells festlegen, für den die code_generate-Funktion verwendet wird.

Das Problem mit dem unten stehenden Code, der wie default=code_generate() aussieht, erzeugt diese zufällige Zeichenfolge einmal bei jedem Serverstart und weist denselben Wert zu. Ich kann sehen, dass durch das Admin-Panel, jedes Mal, wenn ich versuche, eine neue Promotion zu generieren, gibt es mir die exakt gleiche Zeichenfolge.

%Vor%

Wie kann ich es zufällig machen?

Grüße

    
Hellnar 13.02.2010, 14:31
quelle

2 Antworten

24

Sie müssen eine abrufbare Nachricht als default übergeben und nicht die abrufbare Funktion aufrufen:

%Vor%     
Hellnar 13.02.2010 15:13
quelle
-2

Wie in die andere Antwort angegeben ist, der einfachste Weg, um eine zufällige Zeichenfolge ist wie folgt:

%Vor%

Alt, es ist eine Zahlenreihe. Fair genug, bis Sie es schließlich mit sha ersetzen möchten.

    
Lakshman Prasad 13.02.2010 17:17
quelle

Tags und Links