참고 자료에 조건이있는 GQL 쿼리 (Google App Engine의 경우)를 빌드하십시오.

StackOverflow https://stackoverflow.com/questions/852055

  •  21-08-2019
  •  | 
  •  

문제

다음 모델이 있다고 말합니다.

class Schedule(db.Model):
    tripCode = db.StringProperty(required=True)
    station = db.ReferenceProperty(Station, required=True)    
    arrivalTime = db.TimeProperty(required=True)
    departureTime = db.TimeProperty(required=True)

그리고 VAR에 저장된 스테이션 객체가 있다고 가정 해 봅시다. foo.

참조 된 스테이션 객체를 참조하여 모든 일정 객체를 반환하는 GQL 쿼리를 어떻게 조립합니까? foo?

이것은 내 최고입니다 (그러나 그럼에도 불구하고 잘못된) 그러한 쿼리를 형성하려는 시도 :

myQuery = "SELECT * FROM Schedule where station = " + str(foo.key())

다시 한번 foo a 물체

도움이 되었습니까?

해결책

문자열 대체를 사용하여 사용자 데이터를 GQL 문자열에 삽입해서는 안됩니다. GQL은 매개 변수 대체를 지원하므로 다음을 수행 할 수 있습니다.

db.GqlQuery("SELECT * FROM Schedule WHERE station = $1", foo.key())

또는 쿼리 인터페이스 사용 :

Schedule.all().filter("station =", foo.key())

다른 팁

더 쉬운 작업은 'Collection_Name'필드를 참조 프로페티에 추가하여 모델 정의를 변경하는 것입니다.

station = db.referenceProperty (스테이션, 필수 = true, collection_name = "schedules")

그럼 당신은 그냥 할 수 있습니다 :

foo.schedules

모든 방송국의 일정을 얻고 싶을 때마다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top