使用没有表单的视图创建django对象

ice*_*x3d 2 python django django-models django-views

我想知道如何能够根据用户的URL在数据库中创建一个对象.

比如说他们会去/ 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)
Run Code Online (Sandbox Code Playgroud)

biddedschedule将基于URL中的数字,因为在这种情况下1将是计划表中的第一个计划

关于如何做到这一点的任何想法?

Val*_*ior 5

您应该id使用urls.py以下参数获取参数:

#urls.py
from appname.views import some_view

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

查看有关在urlconf中捕获参数的文档.

然后,views.py您应该Bids使用id传递的URL,当前登录的user(request.user)和biddschedule您的数据库构造一个Object .例如:

#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()
Run Code Online (Sandbox Code Playgroud)