2015-11-07 33 views
6

我的models.py如下:如何設置一個隨機整數作爲一個Django CharField的默認值?

import random 
random_string = str(random.randint(10000, 99999)) 

class Content(models.Model): 
    ...... 
    unique_url = models.CharField(default = random_string) 

當我添加在管理內容,則產生的整數並投入charfield作爲它的默認值。從那裏,我可以簡單地向charfield添加更多的單詞。但是,我目前的設置存在的問題是每次添加新文章時整數都保持不變。我想生成和我使用unique_url場基本上找到我的每個特定對象的插入隨機整數,我期待了很多內容,所以加入了隨機數通常會確保每個內容都有的一個kind unique_url。

所以,我在找生成一個隨機整數每次新的內容使用管理面板添加,並把它作爲一個字段的默認系統。在Django中甚至可能有這樣的事情嗎?

回答

7

這樣你生成一個隨機數一次。您需要定義一個函數,例如:爲了

def random_string(): 
    return str(random.randint(10000, 99999)) 

,然後定義你的模型,你已經有了,沒有()傳遞給函數本身,而由該函數返回一個值的參考:

class Content(models.Model): 
    ...... 
    unique_url = models.CharField(default = random_string) 
+0

啊謝謝,它工作得很好! –

+0

我很高興,歡迎! PS。我剛剛達到我的3k點thx您的問題! – Wtower

相關問題