2010-03-27 31 views
6

Tôi mới sử dụng Google App Engine, Tôi có điều này entites lớp người dùng -
user_id - nguyên
user_name - chuỗi
mật khẩu - chuỗi
google công cụ ứng dụng - tự động tăng

tôi muốn làm tự động tăng cho user_id, Làm thế nào tôi có thể làm điều này?

+0

Hãy lưu ý rằng công cụ ứng dụng không đảm bảo rằng các id tạo ra sẽ tiếp giáp - bạn có thể kết thúc bằng id 1, 2 và 4 chẳng hạn, với id 3 không bao giờ được sử dụng. –

Trả lời

19

Bạn không cần khai báo user_id, GAE sẽ tạo id khóa duy nhất mỗi lần bạn chèn hàng mới.

class User(db.Model): 
user_name = db.StringProperty() 
password = db.StringProperty() 

và để lưu trữ một người sử dụng mới, bạn sẽ làm:

user = User() 
user.user_name = "Username" 
user.password = "Password" 
user.put() 

để lấy nó:

user = User.get_by_id(<id of the user>) 

để lấy tất cả id:

query = datamodel.User().all() 
for result in query: 
    print result.key().id() 

Xem The Model Class để tham khảo thêm.

3

Mỗi thực thể trong AppEngine đã có một khóa duy nhất và id (xem documentation):

user().key().id() 

Bạn sẽ tốt hơn bằng cách sử dụng mà thay thế.

Để thực hiện trò chuyện, hãy sử dụng User.get_by_id(id).

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