2014-06-26 17 views
0

所以我有這個模型類Django的 - 上傳後的值硬設置

class Document(models.Model): 
    docfile = models.FileField(upload_to=_upload_path) 
    user = models.ForeignKey(User) 
    user_id = user.primary_key 
    options = 0 

    _upload_path = #... 

它使用兩種上傳功能

def list(request): 
    newdoc = None 
    # Handle file upload 
    if request.method == 'POST': 
     form = DocumentForm(request.POST, request.FILES) 
     if form.is_valid(): 
      newdoc = Document(docfile = request.FILES['docfile']) 
      newdoc.user = request.user 
      newdoc.options = 0 
      newdoc.save() 
      # Redirect to the document list after POST 
      return HttpResponseRedirect(reverse('notendur.views.list')) 
    else: 
     form = DocumentForm() # An empty, unbound form 

    # Load documents for the list page 
    documents = Document.objects.all() 

    # Render list page with the documents and the form 
    return render_to_response(# stuff) 

def reikna(request): 
    if request.method == 'POST': 
     form = DocumentForm(request.POST, request.FILES) 
     if form.is_valid(): 
      new_doc = Document(docfile = request.FILES['docfile']) 
      new_doc.user = request.user 
      # Marks the file as /options/ file 
      new_doc.options = 1 
      new_doc.save() 

    else: 
     form = DocumentForm() # An empty, unbound form 

    render_to_response(#stuff) 

所以options屬性充當兩個上傳函數之間的標識符,所以我知道哪個文檔是由哪個函數上傳的。我的問題是,options屬性似乎設置爲0,無論我做什麼。

+0

這可能不會回答您的問題,但不會調用函數列表,因爲它是保留名稱。 – vminof

+0

你是對的,我最好改變它。 – KSHMR

回答

0

像你的問題的評論Here,你不應該在你的模型上設置options = 0,而應該說models.PositiveIntegerField(default=0)。此外,在您的型號上指定user_id是不必要的,因爲您已指定User外鍵