Блокирование доступа к html-странице во время редактирования пользователем

У меня есть веб-приложение Django для бронирования времени соревнований по гольфу для членов клуба. После входа в систему все пользователи имеют возможность редактировать имена игроков для каждого времени. Затем они вручную сбрасываются на следующую неделю после соревнований. Проблема в том, что если более 1 пользователя редактируют одновременно, то сохраняется последний экземпляр, а другие не понимают. У меня есть список времен (с 4 слотами имен в каждом) на одной html-странице с кнопкой редактирования для каждого времени, которая ведет на отдельную html-страницу для редактирования этих 4 имен. Есть ли возможность заблокировать html-страницу, открытую одним пользователем? Или у меня была мысль создать кнопку рядом с "Edit", которая меняет цвет и текст (например, зеленый на красный, а "Open" на "Edit in progress"), на определенный период или пока не будет нажата кнопка "save" на странице обновления. Вот соответствующий код Models.py

class Post(models.Model):
time=models.CharField(max_length=50)
player1=models.CharField(max_length=50, default="Player 1")
player2=models.CharField(max_length=50, default="Player 2")
player3=models.CharField(max_length=50, default="Player 3")
player4=models.CharField(max_length=50, default="Player 4")

def __str__(self):
    return self.time

Views.py

def teetimes(request):
posts=Post.objects.all()
name=CompNames.objects.get(id=1)
return render(request, 'memtees/teetimes.html', {'posts':posts, 'name':name})

def add(request):
if request.method=='POST':
    time=request.POST['time']
    player1=request.POST['player1']
    player2=request.POST['player2']
    player3=request.POST['player3']
    player4=request.POST['player4']
    Post.objects.create(time=time,player1=player1,player2=player2,player3=player3,player4=player4)
    messages.success(request,'New Time has been added')
return render(request,'memtees/add.html')

def update(request,id):
if request.method=='POST':
    time=request.POST['time']
    player1=request.POST['player1']
    player2=request.POST['player2']
    player3=request.POST['player3']
    player4=request.POST['player4']
    Post.objects.filter(id=id).update(time=time,player1=player1,player2=player2,player3=player3,player4=player4)
    messages.success(request,'Information has been updated, return to Tee-Times to view ')
post=Post.objects.get(id=id)
return render(request,'memtees/update.html',{'post':post})

def clear_players(request):
Post.objects.all().update(player1="", player2="", player3="", player4="")
return redirect('/memtees/teetimes')

def delete(request,id):
Post.objects.filter(id=id).delete()
return redirect('/memtees/teetimes')

Полный список времен HTML

    {% for post in posts|dictsort:"time" %}
    <div>
        <table style="background-color:white" class="table table-bordered">
            <tr>                       
                <th colspan="4" style="margin:0" padding="0"><h7>{{post.time}} &nbsp; &nbsp; <a href="{% url 'update0' post.id %}"  class="btn-sm btn-success">Update</a></h7></th>
            </tr>
            <tr>
                <td style="width: 25%"><p style="font-size:small; margin-bottom:0">{{post.player1}}</p></td>
                <td style="width: 25%"><p style="font-size:small; margin-bottom:0">{{post.player2}}</p></td>
                <td style="width: 25%"><p style="font-size:small; margin-bottom:0">{{post.player3}}</p></td>
                <td style="width: 25%"><p style="font-size:small; margin-bottom:0">{{post.player4}}</p></td>
            </tr>
        </table>
    </div>
{% endfor %}

Для редактирования имен и сохранения HTML

<table class="table table-bordered">
                <tr>
                    <th>Time</th>
                    <td>
                        <input value="{{post.time}}" type="text" name="time" class="form-control" readonly>
                    </td>
                </tr>
                <tr>
                    <th>Player 1</th>
                    <td>
                        <input value="{{post.player1}}" type="text" name="player1" class="form-control"  onclick="player1.select()">
                    </td>
                </tr>
                <tr>
                    <th>Player 2</th>
                    <td>
                        <input value="{{post.player2}}" type="text" name="player2" class="form-control"  onclick="player2.select()">
                    </td>
                </tr>
                <tr>
                    <th>Player 3</th>
                    <td>
                        <input value="{{post.player3}}" type="text" name="player3" class="form-control"  onclick="player3.select()">
                    </td>
                </tr>
                <tr>
                    <th>Player 4</th>
                    <td>
                        <input value="{{post.player4}}" type="text" name="player4" class="form-control"  onclick="player4.select()">
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <button type="submit" class="btn btn-primary btn-lg">Submit</button>
                      
                    </td>
                </tr>
            </table>
Вернуться на верх