Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用表单字段更新Django模型_Python_Django_Django Models_Django Forms - Fatal编程技术网

Python 使用表单字段更新Django模型

Python 使用表单字段更新Django模型,python,django,django-models,django-forms,Python,Django,Django Models,Django Forms,我正在尝试使用前端的整数表单字段更新库存模型的数量。我可以添加新的库存项目,但我想更新现有项目。这是我的密码: 从VIEWS.PY def view_inventory(request, slug): if request.method == 'POST': quantity_add = addQuantity(request.POST) if quantity_add.is_valid(): cd = quantity_add.cleaned_data

我正在尝试使用前端的整数表单字段更新库存模型的数量。我可以添加新的库存项目,但我想更新现有项目。这是我的密码:

从VIEWS.PY

def view_inventory(request, slug):

if request.method == 'POST':
    quantity_add = addQuantity(request.POST)
    if quantity_add.is_valid():
        cd = quantity_add.cleaned_data
        addq=Inventory(quantity = cd.get('quantity'))
        addq.save()

quantity_add=addQuantity()

return render(request, 'inv/view_inventory.html', {
    'item': get_object_or_404(Inventory.objects.all(), slug=slug),
    'form' : quantity_add,
    })
来自MODELS.PY

class Inventory(models.Model):
    quantity = models.IntegerField()
    name = models.CharField(max_length=150, unique = True)
    slug = models.SlugField(unique = True)
    date = models.DateTimeField(auto_now_add=True)
    description = models.CharField(max_length=250)
    category    = models.ForeignKey(Category, null=True, blank=True)
    def __unicode__(self):
        return self.name
    @permalink
    def get_absolute_url(self):
        return ('view_inventory', None, { 'slug' : self.slug })

    class Meta:
        ordering = ['-date']
从url.PY

url(r'^(?P<slug>[\w\-]+)/$', 'inv.views.view_inventory', name='view_inventory'),
url(r'^(?P[\w\-]+)/$,'inv.views.view_inventory',name='view_inventory'),

您只需获取记录,然后对其进行更新:

 def view_inventory(request, slug):

  if request.method == 'POST':
        quantity_add = addQuantity(request.POST)
        if quantity_add.is_valid():
            cd = quantity_add.cleaned_data
            old_inventory = Inventory.objects.get(id=something here) #id or pk or whatever you want
            old_inventory.quantity = cd.get('quantity')
            old_inventory.save()

    quantity_add=addQuantity()

    return render(request, 'inv/view_inventory.html', {
        'item': get_object_or_404(Inventory.objects.all(), slug=slug),
        'form' : quantity_add,
        })

问题是什么?如果你有任何错误,会发生什么?另外,请发布
addQuantity
表单定义。