不知道這是否是Django中的錯誤,或者它不支持我想要做的事情(或者我如何做)。模型中的Django Auto UUID不唯一
我的模型的一個片段:
class UserProfile(models.Model):
user = models.OneToOneField(User, primary_key=True, related_name='profile'
login_hash = models.CharField(max_length=36, blank=True, null=True, default=uuid.uuid4())
...
正如你看到的,我已經設置默認爲login_hash
來調用uuid.uuid4()
正常工作......然而,多重的用戶配置電話(快速創建新用戶,即使看似幾分鐘,但我還沒有正式的時間)會爲多個用戶產生相同的login_hash
。
看來,django(我在1.7.4)正在緩存uuid4()
一段時間的結果。對我所要做的事不太好。
SOLUTION: 我正在使用。我只是在數據庫上設置了「插入」觸發器,這樣當我插入一條新記錄時,數據庫將生成UUID,但僅在插入/新記錄中生成。
有沒有辦法在django中做到這一點,以便我可以保持它與數據庫不可知論?
「巴掌額頭」......當然......恨一個夫婦的大括號搞砸了東西ups :)謝謝! – 2015-02-09 13:18:46