В то время, genid
действительно еще не определено. Кроме того, вы должны , а не вызывать функцию, поскольку тогда она по умолчанию будет принимать результат функции. Вы должны определить это как:
class Images(models.Model):
def <b>genid</b>():
uid = uuid.uuid4().hex[:6]
if Images.objects.filter(uid=uid).exists():
uid = uuid.uuid4().hex[:6]
return uid
uid = models.CharField(max_length=10, default=<b>genid</b>, editable=False)
Но обычно они определяются вне функции, например:
def <b>genid</b>():
uid = uuid.uuid4().hex[:6]
while Images.objects.filter(uid=uid).exists():
uid = uuid.uuid4().hex[:6]
return uid
class Images(models.Model):
uid = models.CharField(max_length=10, default=<b>genid</b>, editable=False)
Вы, вероятно, должны заменить if
с while
l oop, поскольку сейчас все еще возможно, что вторая попытка также не удалась.