2012-03-21 4 views
0

私はpluploadプラグインを使用して複数のファイルをアップロードしています。それはうまく動作します。関係(イベントとファイル間)を作成したい

Filesモデルでは、user_idblob_keyを保存しています。 こちらはa formです。

ユーザーがプラグインを使用してファイルをアップロードしたとします。そのファイルはFILESに保存されました。その後、彼はフォームを提出する。 Now descriptionフィールドはEventに保存されました。このイベントにはこのファイルがあることをどのように知っていますか? EventFilesモデルの間には何の関係もありません。私は混乱しています。だから関係を作るために私を助けてくれますか?たくさんここ

class Files(db.Model): 
     blob_key = blobstore.BlobReferenceProperty(required=True) 
     created_by = xxxxxx 

:-)おかげで私の第二のモデル

class Event(db.Model): 
    description = db.StringProperty(required=True) 

答えて

1

は、ここでは、イベントからのファイルへの参照を設定したい方法ですされています。

逆が必要な場合は、db.ReferenceProperty(Event)をFileクラスに配置できます。

class Event(db.Model): 
    description = db.StringProperty(required=True) 
    file = db.ReferenceProperty(Files) 
+0

私はその逆の方が簡単だと思います。各ファイルにイベントへの参照を入れてください。もちろん、これは各イベントがいくつのファイルを持つことができるかによって決まります...もしそれがほんの少数であれば... 1000で、私はファイルに参照を入れます – aschmid00

+0

@dragonx私は、ファイルのdb.ReferencePropertyなぜなら私は 'Files'を最初に保存してから' Event'を保存しているからです。一方、 'file = db.ReferenceProperty(Files)'は一つのファイルしか保存しません。他の人はどうですか?ユーザーが3つのファイルをアップロードしている場合 – Kulbir

+0

これを逆にしたい場合は、イベントを保存した後にファイルを更新することができます。なぜそうすることができないのか本当の理由はありません。 3つのファイルにすべて同じイベントへの参照を格納させることができます。 ReferencePropertiesのListPropertyを使用することもできます。リスト内のアイテムの数は、エンティティ内のインデックス付きプロパティの数に制限されます。これは3000または5000だと思います。 – dragonx

関連する問題