我想用django只需单击一次即可编辑一个数据库字段
我有一个电影数据库和一个布尔字段init。我想单击一个按钮并更改该布尔字段的值。但我无法从url获取电影pk。我收到错误:“WSGIRequest”对象没有属性“kwargs” 以下是我的看法:我想用django只需单击一次即可编辑一个数据库字段,django,django-views,Django,Django Views,我有一个电影数据库和一个布尔字段init。我想单击一个按钮并更改该布尔字段的值。但我无法从url获取电影pk。我收到错误:“WSGIRequest”对象没有属性“kwargs” 以下是我的看法: @需要登录\u def一个cikan按钮(自身,**kwargs): pk=self.kwargs['pk'] 打印(主键) film=Movies.objects.get(pk=pk) 尝试: film.characterized=False 电影节 返回重定向(“/headoffice/onecik
@需要登录\u
def一个cikan按钮(自身,**kwargs):
pk=self.kwargs['pk']
打印(主键)
film=Movies.objects.get(pk=pk)
尝试:
film.characterized=False
电影节
返回重定向(“/headoffice/onecikanlar/”)
例外情况除外,如e:
返回重定向(“/headoffice/onecikanlar/”)
返回重定向(“/headoffice/onecikanlar/”)
我的网址:
路径('onecikanlar/kaldir/',views.one_cikan_按钮,name=“onecikaldir”),
我的模板:
我的模型:
class电影(models.Model):
featured=models.BooleanField(默认值=False)
我怎样才能解决这个问题?或者我可以将UpdateView与自定义设置一起使用吗?任何django view函数都会以WSGIRequest作为第一个参数进行调用。因此,如果您使用
self
作为第一个参数定义函数,我想self
是请求,而self.kwargs['pk']
没有多大意义pk=kwargs['pk']
是正确的(pk=kwargs.get('pk')
在没有pk的情况下会更好),用request
替换self
会更有意义。因为您知道要传递给视图的内容(URL模式保证会传递pk
),您只需定义视图函数,如def one\u cikan\u按钮(请求,主键):…
谢谢。这解决了我的问题