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将是计划表中的第一个计划
关于如何做到这一点的任何想法?
您应该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)