2012-12-05 3 views
2

사용자가 가고자하는 URL을 기반으로 데이터베이스에 객체를 어떻게 만들 수 있는지 궁금합니다.형식이없는 뷰를 사용하여 django 객체 만들기

예를 들어, 그들은/schedule/addbid/1 /에 간다고 말하면 입찰가 소유자, 입찰 한 일정 및 입찰이 완료된 테이블을 포함하는 개체를 만듭니다. 여기가 입찰가를위한 내 모델에 대한 것입니다. 이 경우 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의 수를 기준으로 할 것인가?

답변

5

당신은 urls.py를 사용하여 id 매개 변수를 얻어야한다 :

#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 객체를 생성해야 현재 사용자 (request.user)에 기록 된 URL에 전달 된 id, 당신의 DB에서 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() 메서드를 통해 데이터베이스에 저장합니다.

관련 문제