2012-03-21 2 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

관련 문제