0
아주 간단한 senario : 나는 고유 한 이메일을 유지하면서 그 이름에 의해 ZODB의 사용자 인스턴스를 저장할고유 키/속성/프로퍼티 ZODB에
class User(Persistent):
def __init__(self, username, email):
self.username = username
self.email = email
.
u1 = User(username="u1",email="[email protected]")
zodb_container[u1.username] = u1
이 개체를 저장하기 위해 사용자 이름을 키로 사용하므로 고유합니다. 내 질문은 전자 메일 특성을 고유하게 유지하는 방법입니까? 객체 데이터베이스에서이를 수행하는 우아한 방법이 있습니까?
안녕하세요, Chris, 정말 고마워요! 그런 요구 사항을 충족시킬 때, 어떻게 해결하는지, 그리고 권장되는 방법이 무엇인지 궁금합니다. 지금 당장 두 가지 옵션이 있습니다 : 1, ZODB를 실제 관계형 데이터베이스와 결합하십시오. 2, ZODB에 다른 사전을 생성하고 이메일 주소를 키로 사용하십시오. 따라서 사용자 이름과 이메일 주소를 모두 고유하게 유지하는 두 개의 사전을 유지합니다. – Xiong
두 번째 옵션을 선택한다고 가정 할 때 또 다른 질문이 있습니다. 동일한 사용자 개체를 두 개의 사전에 두 번 저장하면 ZODB는 해당 사용자 개체의 복사본을 두 개 또는 복사본 하나만 보관할 것입니까? ZODB가 두 개의 복사본을 유지한다면 전체 User 객체 대신에 키 (User.username)를 저장해야합니다. BTW, 나는 곧 실험을 하는게 좋을 것 같아. – Xiong
ZODB는 사용자 개체의 복사본 하나만 유지합니다. 그래서 두 속성을 모두 고유하게 유지하기 위해 두 개의 사전을 사용할 것입니다. – Xiong