2013-06-23 1 views
1

GAE에 익숙하지 않아서 블로그처럼 사소한 사용자 모델을 어떻게 만들 수 있습니까?Google App Engine에서 사용자 만들기 및 마이그레이션하기 쉬운 방법

그래서, 지금까지,이 내가 가진 전부입니다 :

class User(db.Model): # Todo create a user model, that works with your login page 
    username = db.UserProperty() 
    password = db.StringProperty() 

을하지만 이것은 아주 원시적 보인다. 독창성이 중요한 요소 인 분야를 만드는 것이 가장 좋은 방법 인 것처럼 Google App Engine에서 사용자를 만드는 방법은 무엇입니까? 또한 Google 데이터 저장소에 링크가 허용되지 않으므로 사용자를 블로그 게시물에 연결하는 방법은 무엇입니까? 마지막으로 모든 이전을 관리하는 앱이 있습니까? GAE의 남쪽처럼? 마이그레이션 할 수있는 방법이있는 것 같지만 많은 부분이 boiler-plate code입니다.

또한 장고 배경에서 왔기 때문에 이것은 관계형 데이터베이스가 아니기 때문에 직관적이지 않은 모든 것을 찾고 있습니다.

답변

2

귀하의 User 클래스는 현재로서는 문제가 없으므로 개발 중에 필요에 따라 필드를 모델에 추가 할 수 있습니다. 하지만 db 대신 ndb을 사용해야합니다. ndb은 (자동 캐싱과 같은) 훨씬 더 많은 기능을 처리합니다. 자세한 내용은 in the documentation을 참조하십시오.

고급 사용자 또는 데이터 저장소 모델을 배우려면 이미 사용자 로그인 및 가입 (facebook/twitter/...에서도 가능)을 처리하는 gae-boilerplate을 살펴볼 수 있습니다. README는 매우 잘 문서화되어 있습니다 : https://github.com/coto/gae-boilerplate

KeyProperty()을 사용하거나 작성시 상위 엔티티를 설정하여 모델에서 일종의 관계를 구현할 수 있습니다. 예 :

class BlogPost(ndb.Model): 
    title = ndb.StringProperty() 
    content = ndb.TextProperty() 
    timestamp = ndb.DateTimeProperty(auto_add_now=True) 

# Then you can specify a parent in the constructor (where user is a User entity) 
blog_post = BlogPost(parent=user) 
blog_post.title = 'Post title' 
blog_post.content = 'Post content' 
blog_post.put() 

그런 다음 Ancestor queries을 사용하여 사용자가 게시 한 모든 블로그 게시물을 검색합니다.

+0

이 생성자에서 부모를 추가하는 방법에 대해 약간의 코드를 추가 하시겠습니까? 그것은 종합적인 답을 줄 것입니다. 다시 물어서 미안해. –

+0

모든 코드가 여기에 있습니다. 'user'는 쿼리에서 검색 할 수있는 User 엔터티입니다. 어떻게하는지 모른다면 ndb 쿼리에 대한 문서를 읽어 보시기 바랍니다. – Dalmas

관련 문제