을 만드는 : 중요한 방법 자동차 (ndb.Model)과 지점 (ndb.Model) 각각.나는 두 가지 모델이 구글 앱 엔진의 화합물 또는 복합 키
@classmethod
def car_key(cls, company_name, car_registration_id):
if not (company_name.isalnum() and car_registration_id.isalnum()):
raise ValueError("Company & car_registration_id must be alphanumeric")
key_name = company_name + "-" + car_registration_id
return ndb.Key("Car", key_name)
지점 키 :
@classmethod
def branch_key(cls, company_name, branch_name):
if not (company_name.isalnum() and branch_name.isalnum()):
raise ValueError("Company & Branch names must be alphanumeric")
key_name = company_name + "-" + branch_name
return ndb.Key("Branch", key_name)
나는이를 생각하고 그러나 당신이 키를 사용하기로되어있는 방법을 정말 조금 못생긴하지.
(자동차 등록 자동차에 고유하지만 때로는 한 회사가 다른 회사에 자동차를 판매 할 수 있으며, 또한 자동차 나뭇 가지 사이를 이동).
기업이 많은 자동차 나 많은 지점, 당신은 초에 한 번씩 엔티티 그룹에 쓸 수 있기 때문에 큰 개체 그룹을 원하지 않는 가정 수 있기 때문에
.키 정의는 어떻게해야합니까?
나는 자동차가 많은 회사를 가질 가능성이 없기 때문에 car_key = ndb.Key("Car", car_reg_id, "Company", company_name)
을 고려하고있다. 그래서 엔티티 그룹은 너무 크지 않을 것이다.
그러나 나는 많은 회사가 같은 지점 이름을 가질 수 있기 때문에 분기 키에 대해 무엇을해야하고, 많은 지점은 같은 회사가있을 수 있습니다 모르겠어요.
감사합니다. 나는 항상 로그인 한 사용자 계정과 관련된 회사 이름과 지점 이름을 알고 있습니다. 따라서 나는 열쇠를 그대로 유지할 것입니다. (중간에 "-"가 붙은 두 개의 문자열). 각 지점에 대해 자동차 등록 ID 목록을 작성하겠습니다. 그러면 관련 자동차를 살펴보고 등록 ID가 주어질 "자동차 수정"을 클릭하십시오. –