2011-01-13 50 views
0

我有一個實體稱爲用戶。 我有另一個實體電影。如何在實體中添加實體列表? (AppEngine Java)

我希望用戶有一個列表。 但是我的代碼有很多例外。 你能解釋我該怎麼做?

感謝

+1

也許如果你包含你的代碼,以及你得到的例外,我們可以提供幫助。 –

回答

-2

有一個在AppEngine上沒有參考列表屬性。仍然可以使用db.ListProperty(db.Key),它存儲任何實體鍵的列表。

型號:

class User(db.Model): 
    movie_list=db.ListProperty(db.Key) 

class Movie(db.Model): 
    name=db.StringProperty() 

觀點:

user=User() 
    movies=Movie.gql("")#The Movie entities you want to fetch 

    for movie in movies: 
     user.movie_list.append(data) 

///這裏movie_list存儲數據實體

Data.get(user.movi​​e_list)的鑰匙將得到所有的電影其關鍵字在data_list屬性中的實體

+2

AppEngine * java * – jamie

1

UserMovie之間的關係的一個例子可以看sometling這樣的:

用戶類:

import java.util.Set; 
import com.google.appengine.api.datastore.Key; 

public class User { 

    @Persistent 
    private Set<Key> ownsMovies; 

    public void addMovie(Movie movie) { 
     // We remember to maintain the relation both ways. 
     ownsMovies.add(movie.getKey()); 
     movie.getOwners().add(getKey()); 
    } 

    public void removeMovie(Movie movie) { 
     // We remember to maintain the relation both ways. 
     ownsMovies.remove(movie.getKey()); 
     movie.getOwners().remove(getKey()); 
    } 
} 

Movie類。

import java.util.Set; 
import com.google.appengine.api.datastore.Key; 

public class Movie { 

    @Persistent 
    private Set<Key> owners; 

}