Я пытаюсь создать custom save method
в своей модели, и я хотел бы получить вашу помощь для ее улучшения.
Я генерирую unique code
на основе некоторых переменных вмой form
.Я генерирую код и провожу исследование, прежде чем сохранить его.Если другой документ уже получает этот код, я генерирую другой, иначе я сохраняю объект.
Это мой метод save()
в моем файле models.py:
def save(self, *args, **kwargs):
import random
self.code = f"{self.publication.pub_id}-{self.language.upper()}-{self.format.upper()}-{random.randint(1,10001)}"
document = Document.objects.filter(code=self.code)
if document:
self.code = f"{self.publication.pub_id}-{self.language.upper()}-{self.format.upper()}-{random.randint(1,10001)}"
super(Document, self).save(*args, **kwargs)
Я думаюэто могло бы улучшить меня на while
вместо if
состояния.
Что вы думаете об этом?
Спасибо