2013-06-28 19 views
0

一些反對我Document型號:添加關係與預覽或類似這樣的

class Document(models.Model): 
    user = models.ForeignKey(User) 
    title = models.CharField(max_length=255) 
    description = models.TextField() 
    content = models.TextField() 

DocumentRelation型號:

class DocumentRelation(models.Model): 
    document_a = models.ForeignKey(Document,related_name='doc_a') 
    document_b = models.ForeignKey(Document,related_name='doc_b') 

我有single_document觀點:

def single_document(request,id): 
    doc = Document.objects.get(id=id) 

    return render_to_response('single_file.html',{'doc':doc},context_instance=RequestContext(request)) 

single_file.html我有:

<a href="/add-relation/{{ doc.id }}" class="btn btn-success">Add related document</a> 

我需要創建視圖def add_relation(request,id):。添加關係的最佳方式是什麼?我需要預覽要添加爲相關文檔。如何解決它?

(我問的整體設計如何解決它。)

回答

3

首先,你爲什麼沒有在文檔模型中這樣使用ManyToManyField:

related_documents = models.ManyToManyField('self') 

然後你可以使用兩如果您不想使用javascript(一個選擇,另一個確認並顯示相關文檔),則使用步驟表單。

如果您願意,也可以使用javascript並在用戶選擇時動態加載相關文檔。

+1

並使用'document.related_documents.add(another_document)'。 [見這裏](https://docs.djangoproject.com/en/dev/topics/db/examples/many_to_many/#many-to-many-relationships) – lalo