장고 모델에 슬러그 필드를 추가해야합니다. null이 아닐 때 더 좋습니다. 그래서 나는기본 속성이 null 인 기존 Django 모델에 고유하지 않은 값을 추가하는 방법
slug = models.SlugField(
'URL',
unique=True,
default=id_generator,
)
내 id_generator을 모델링 슬러그를 추가하기 위해 노력하고있어 : 내가 변화를 마이그레이션 할 때
import string
import random
def id_generator():
size=16
chars=string.ascii_lowercase + string.digits
return ''.join(random.choice(chars) for x in range(size))
문제입니다. 메소드 id_generator가 한 번 호출하고 모든 모델 객체에 대해 동일한 값을 사용합니다. 그래서 나는 독특한 분야에서 중복 entrie 있습니다. 고유 한 값을 생성하려면 어떻게해야합니까? 장고 1.11.5
P. 나는 null = True로 설정하고 저장시 슬러그를 추가하기 위해 모델의 저장 방법을 사용자 정의 할 수 있음을 이해합니다.
사이드 노트 확실히 가장자리 케이스 :이 각 인스턴스에 대해 호출 된 경우에도 고유성을 보장 할 것이다 당신의 id_generator에 아무것도 없습니다. – schwobaseggl
[이미 채워진 모델과 함께 null이 아닌 고유 필드 추가] 가능한 복제본 (https://stackoverflow.com/questions/27749300/add-non-null-and-unique-field-with-already-populated-model) – schwobaseggl