Wpis z mikrobloga

Chcę wygenerować 6 znakowy hash, który miałby być uniwersalnym ID danego wpisu/artykułu. W jaki sposób najlepiej to zrobić? Myślałem o napisaniu małej funkcji która by to generowała a potem pobierała z bazy danych wszystkie już istniejące ID i je porównywała, i w razie czego generowała nowy, jeżeli nastąpiła kolizja. Tylko nie wiem czy to nie jest trochę za dużo mieszania w kodzie.

Jest jakiś industry standard do robienia czegoś takiego? Bo django niby ma pole UUIDField, ale to narzuca używanie uuid, które są stanowczo za duże na moje potrzeby.

#django #programowanie #python
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@snejdan: chyba tak zrobię. Potem jakieś testy może do tego dorzucę, dodając jakieś pare tysięcy nowych wpisów i patrząc czy jakiś błąd się nie wywalił.

Bo w tej chwili nie mogę znaleźć info jak zachowuje się ten ORM django przy próbie dodania dwóch identycznych ID. Jeżeli testy mnie nie zadowolą, to sobie dopiszę do metody save() ten kod sprawdzający, bo artykuły dodaje się rzadko, więc może to zapytanie do bazy
  • Odpowiedz
chyba nie robisz super ważnego projektu to może

from time import time
hex(int(time()))
'0x592b21ec'
hex(int(time()))[3:]
  • Odpowiedz