【发布时间】:2013-11-26 11:07:43
【问题描述】:
我有一个 django 应用程序核心。它有一个模型验证,可以存储 8 列的记录。我得到数据库记录中的每一行都有一个空列。我想稍后使用 django 表单或模型表单为记录子集更新此空列。我不想更改任何其他列值。
例如,我总共有 100 条记录,其中有一个空列,可以说是“产品详细信息”。我想更新最后 10 行的产品详细信息列。使用 Django 表单或 modelForm。
这是我的应用程序的 models.py、forms.py 和 views.py 代码:
models.py
class Verification(models.Model):
asset_code = models.CharField(verbose_name="Asset Code",max_length=16, default="")
scan_time=models.DateTimeField(verbose_name="Time of smartDNA scan",auto_now_add=True,default=datetime.datetime.now)
credential = models.CharField(verbose_name="smartDNA Credential",max_length=16, default="")
status=models.IntegerField(verbose_name="Scanning Status",choices=STATUS_CHOICES,default=1)
operator = models.CharField(verbose_name="Operator",max_length=16, default="")
location = models.CharField(verbose_name="Branch",max_length=64, default="")
auth_code = models.CharField(verbose_name="Scanner Authentication",max_length=20, default="DSC(Verisign")
emp_id = models.CharField(verbose_name="EMP ID",max_length=16, default="")
image = models.CharField(verbose_name="Image",max_length=24, default="dd")
created=models.DateTimeField(verbose_name="Created on",blank=True,auto_now_add=True)
modified=models.DateTimeField(verbose_name="Modified on",blank=True,auto_now=True)
product_details= models.CharField(verbose_name="Product Details",max_length=64, default="")
forms.py
class UpdateDetailsForm(forms.Form):
asset_code = forms.CharField(max_length=16)
asset_code = forms.CharField(max_length=16)
product_details = forms.CharField(max_length=64)
views.py
def update_details(request):
if request.method == "POST":
if 'search' in request.POST:
form = UpdateDetailsForm(request.POST)
if form.is_valid:
product_details=form.cleaned['product_details']
return render_to_response('update_details.html',
{'form':UpdateDetailsForm(),},
context_instance=RequestContext(request))
我想使用表格行的子集更新一列“product_details”。例如从asset_code 10 到asset_code 100。
【问题讨论】:
-
将要更新的对象作为关键字参数
instance传递给FormClass