Ich habe versucht, hashids in Django-Modelle zu implementieren. Ich möchte Hash basierend auf id
Modell des Modells erwerben, wenn das Modell id=3
dann Hash-Codierung sollte wie folgt sein: hashid.encode(id)
. Die Sache ist, dass ich ID oder PK nicht bekommen kann, bis ich sie rette. Was ich in meinem Kopf habe, ist, die neuesten Objekte id
zu bekommen und 1
auf ihnen hinzuzufügen. Aber es ist keine Lösung für mich. Kann mir jemand helfen, es herauszufinden?Implementieren Hashid in Django
django Modell ist:
from hashids import Hashids
hashids = Hashids(salt='thismysalt', min_length=4)
class Article(models.Model):
title = models.CharField(...)
text = models.TextField(...)
hashid = models.CharField(...)
# i know that this is not a good solution. This is meant to be more clear understanding.
def save(self, *args, **kwargs):
super(Article, self).save(*args, **kwargs)
self.hashid = hashids.encode(self.id)
super(Article, self).save(*args, **kwargs)
dieses erstellt keine hashid nach dem speichern – Zorig
Erstellen Sie Artikel über die Befehlszeile? Diese Methode führt beim Erstellen der Modellinstanz nicht die Methode 'save()' aus. – Hybrid
Nein, ich habe einen Artikel über das Admin-Panel erstellt. liegt es daran, dass Änderungsdatum und Erstellungsdatum nicht gleich sind ??? – Zorig