Отображение дубликатов данных после изменения данных и обновления страницы в django python

Я хочу показать данные на localhost только один раз, так как они приходят дважды, и где бы я не изменил data.py и не обновил страницу, новый слой данных добавляется.

Так что если данные

titles = {
    "data": [
        {
            "sid": "1234",
            "name": "name_1"
        },
        {
            "sid": "5678",
            "name": "name_2"
        },
        {
            "sid": "9012",
            "name": "name_3"
        }
    ]
} 

то в выводе он должен выглядеть как

SD      Name
1234    name_1
5678    name_2
9012    name_3

так что если я изменю данные в файле data.py

titles = {
    "data": [
        {
            "sid": "0000",
            "name": "name_1"
        },
        {
            "sid": "12313",
            "name": "name_2"
        },
        {
            "sid": "543534",
            "name": "name_3"
        }
    ]
}

вывод должен выглядеть следующим образом

SD      Name
0000    name_1
12313   name_2
543534  name_3

текущий выход составляет

SD      Name
1234    name_1
5678    name_2
9012    name_3
0000    name_1
12313   name_2
543534  name_3

на выходе добавляются предыдущие записи. Я хочу, чтобы после обновления в файле data.py отображались текущие данные

views.py

from django.shortcuts import render
from .models import Title

def get(request):
    context = {'titles': Title.objects.all()}
    return render(request, "home.html", context)

home.html

<!DOCTYPE html>
<html lang="en">
<head>
  <title>TableView - Startup</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2 class="text-center"><u>Data</u></h2><br>
  <table class="table table-dark table-striped">
    <thead>
      <tr>
        <th>SD</th>
        <th>Name</th>
      </tr>
    </thead>
    <tbody>
    {% for title in titles %}
      <tr>
        <td>{{title.sd}}</td>
        <td>{{title.name}}</td>
      </tr>
    {% endfor %}
    </tbody>
  </table>
</div>

</body>
</html>

models.py

from django.db import models
from data import titles

class Title(models.Model):
    sd = models.CharField(max_length=255)
    name = models.CharField(max_length=255)  # Read the JSON


# Create a Django model object for each object in the JSON
for title in titles['data']:
    Title.objects.create(sd=title['sid'], name=title['name'])

data.py

titles = {
    "data": [
        {
            "sid": "0000",
            "name": "name_1"
        },
        {
            "sid": "12313",
            "name": "name_2"
        },
        {
            "sid": "543534",
            "name": "name_3"
        }
    ]
}
``

Я решил проблему, добавив этот код в views.py

def getting_all_data():
for title in titles['data']:
    Title.objects.create(sd=title['sid'], name=title['name'])


def get(request):
    if list(Title.objects.all()):
        Title.objects.all().delete()
        getting_all_data()
        object_handler = Title.objects.all()
    else:
        getting_all_data()
        object_handler = Title.objects.all()
    context = {'titles': object_handler}
    return render(request, "home.html", context)
Вернуться на верх