Tôi có một kịch bản đơn giản trong đó có một lớp người dùng có tên, email và thuộc tính người theo dõi.Sử dụng ndb.KeyProperty cách tham chiếu cùng một mô hình?
class User(ndb.Model):
name = ndb.StringProperty(required = True)
search_name = ndb.StringProperty(required = True)
pw_hash = ndb.StringProperty(required = True)
email = ndb.StringProperty()
follows = ndb.KeyProperty(Follow, repeated=True)
followers = ndb.KeyProperty(User, repeated=True)
Trong khi thực hiện điều này, tôi gặp phải lỗi.
File "C:\ujjal\my project\cravel\code2\Users.py", line 46, in User
followers = ndb.KeyProperty(User, repeated=True)
NameError: name 'User' is not defined
INFO 2012-09-11 11:45:23,953 dev_appserver.py:2967] "GET/HTTP/1.1" 500 -
Bất kỳ đề xuất nào về cách mô hình thuộc tính "người theo dõi" sẽ được đánh giá cao. Cảm ơn trước
Hoàn hảo, @Bert cảm ơn cho đầu vào của bạn – ujjalcal
Vấn đề này không phải là cụ thể. Bạn không thể tham chiếu một lớp theo kiểu của nó cho đến sau khi lớp được định nghĩa. Đó là lý do tại sao ndb cho phép bạn sử dụng một tên chuỗi cho một loại hoặc đối tượng kiểu python. –