【问题标题】:I am adding a new row instead of make changes in a existing row in my DB我正在添加一个新行,而不是对我的数据库中的现有行进行更改
【发布时间】:2023-01-25 00:53:01
【问题描述】:

我正在尝试将我的表单保存在我的数据库中。但是我的代码添加了一个新行而不是保存对现有行的更改。我的错误在哪里?

查看.py

    def settings(request):
        error = ''
        if request.method == 'POST':
            new_form = TrafficSourcesForm(request.POST)
            if new_form.is_valid():
                new_form.save()
    
    
    
            else:
                error = 'Something went wrong!'
new_form = TrafficSourcesForm()
    forms = [TrafficSourcesForm(instance=x) for x in TrafficSources.objects.all()]

   
    return render(request, 'mainpage/dashboard.html', {'new_form': new_form, 'forms': forms, 'error': error})

模板

<div class="table table-striped table-hover">

            <div class="table-row">
                <th style="width: 42%">Name</th>
                <th style="width: 43%">Token</th>
                <th style="width: 15%">Action</th>
            </div>
        {% for form in forms %}
            <div class="table-row">
                <form method="POST">
                {% csrf_token %}
                <div class="table-cell">{{ form.name }}</div>
                <div class="table-cell">{{ form.token }}</div>
                <div class="table-cell"><button class="btn btn-lg btn-success w-100"">Save</button></div>
                </form>
            </div>
        </div>

如果不清楚:我在页面上显示了我数据库中的所有表格。我想编辑它们并再次保存到数据库中。

【问题讨论】:

标签: python django django-models django-forms


【解决方案1】:

我建议获取要修改的特定对象。前任。 traffic_source = TrafficSources.objects.get(id=&lt;id_here&gt;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多