2012-12-05 55 views
2

我想知道如何能夠基於用戶將要訪問的URL在數據庫中創建對象。使用沒有窗體的視圖創建django對象

舉例說,他們會去/ schedule/addbid/1 /,這將在表格中創建一個包含投標所有者,他們投標的時間表以及投標是否完成的對象。這就是我對我的模型迄今爲止的出價。

class Bids(models.Model): 
    id = models.AutoField("ID", primary_key=True, editable=False,) 
    owner = models.ForeignKey(User) 
    biddedschedule = models.ForeignKey(Schedule) 
    complete = models.BooleanField("Completed?", default=False) 

的biddedschedule將基於URL的數量在這種情況下,1將在計劃表

關於如何做到這一點任何想法的第一個時間表?

回答

5

你應該使用urls.pyid參數:

#urls.py 
from appname.views import some_view 

urlpatterns = patterns('', 
    url(r'^schedule/addbid/(?P<id>\d+)$', some_view), 
    ... 
) 

看看文檔約capturing parameters in the urlconf

,然後在views.py您使用應當構建一個Bids對象的id在URL中傳遞,在當前登錄的用戶(request.user),以及biddschedule從您的數據庫。例如:

#views.py 
def some_view(request, id): 
    if request.user.is_authenticated(): 
     # get the biddschedule from your DB 
     # ... 
     bids = models.Bids(id=id, owner=request.user, biddedschedule=biddedschedule) 
     bids.save() 
     return HttpResponse("OK") 
    return Http404() 
1

通過urlconf捕獲數字。通過request.user獲取當前用戶。通過調用其構造函數來創建模型實例,並通過其save()方法將其保存到數據庫中。

相關問題