2012-03-29 26 views
9

Có tương đương với modelname_set (thuộc tính được tham chiếu ngược lại) trong Google App Engine's NDB không?Google App Engine ndb tương đương với modelname_set (thuộc tính backreference)

Trong DB cũ một thực thể mẫu có described the back-reference property as:

Tên của giá trị mặc định bất động sản trở lại tham chiếu đến modelname_set (với tên của lớp mô hình trong chữ thường, và "_set" thêm vào cuối cùng) và có thể được điều chỉnh bằng cách sử dụng đối số collection_name cho hàm tạo ReferenceProperty.

Tôi nhận thấy thuộc tính này dường như không tồn tại với NDB db.Model trường hợp.

NDB có tương đương với thuộc tính tham chiếu ngược không?

Trả lời

13

Không có thuộc tính tham chiếu ngược trực tiếp trong NDB vì NDB không hoàn toàn sử dụng cùng một mô hình như ứng dụng khách lưu trữ dữ liệu gốc. Bạn sẽ sử dụng một KeyProperty cho tham chiếu chuyển tiếp của bạn và sau đó sử dụng một truy vấn cho tất cả mọi thứ có KeyProperty thiết lập để tham khảo trở lại của bạn.

class Comment(ndb.Model) 
    source = ndb.KeyProperty() 

qry = Comment.query().filter(source=ndb.Key('Source', 'Sandy')) 
+0

Cảm ơn Michael. Chỉ cần tò mò, mục đích gì 'Sandy' có trong ví dụ của bạn? –

+2

'Sandy' chỉ là ID (do người dùng chỉ định) của khóa, giống như 'Nguồn' là loại. –

Các vấn đề liên quan