tôi có thể sử dụng một chút giúp đỡ trong đất AppEngine ...tìm nạp chỉ Key/id từ một ReferenceProperty trong App Engine
Sử dụng [Python] API tôi có thể tạo mối quan hệ giống như ví dụ này từ các tài liệu:
class Author(db.Model):
name = db.StringProperty()
class Story(db.Model):
author = db.ReferenceProperty(Author)
story = db.get(story_key)
author_name = story.author.name
Như tôi đã hiểu, ví dụ đó sẽ thực hiện hai truy vấn kho dữ liệu. Một để lấy câu chuyện và sau đó một để deference Inorder tác giả để truy cập vào tên. Nhưng tôi muốn để có thể lấy id, do đó, làm một cái gì đó như:
story = db.get(story_key)
author_id = story.author.key().id()
Tôi muốn chỉ nhận được id từ tham chiếu. Tôi không muốn phải deference (do đó truy vấn kho dữ liệu) giá trị ReferenceProperty.
Từ đọc các tài liệu hướng dẫn nó nói rằng
giá trị của một ReferenceProperty là một khóa
Dẫn tôi nghĩ rằng tôi chỉ có thể gọi .id() trên giá trị của tài liệu tham khảo. Nhưng nó cũng nói:
Mô hình ReferenceProperty cung cấp các tính năng cho các giá trị thuộc tính khóa như dereferencing tự động.
Tôi không thể tìm thấy bất kỳ điều gì giải thích khi tham chiếu này diễn ra?
Có an toàn không khi gọi .id() trên giá trị của ReferenceProperty?
Có thể giả định rằng gọi .id() sẽ không gây tra cứu kho dữ liệu không?
Xem [ReferenceProperty: .get_value_for_datastore() -> .get_key() - Google Groups] (https://groups.google.com/forum/#!topic/google-appengine -python/Ai90diACDiA) quá – Pat