Как добавить счетчик, который увеличивается после создания объекта в Django?

Я делаю простой сайт со списком, который отображает список фильмов, которые я хочу посмотреть. В основном, я использую форму для добавления фильма в список. Ничего сложного, но я хочу отображать переменную count рядом с каждым фильмом, который я добавляю в список, от 1 до 10, и я хочу, чтобы она увеличивалась/уменьшалась, если я удаляю/добавляю новый фильм. Где мне нужно добавить это? У меня есть отдельные представления для добавления/удаления фильмов (объектов)

Вы хотите просто запросить базу данных о том, сколько фильмов находится в списке, поскольку это эквивалентная информация. Когда вы можете вывести состояние, вы, вероятно, должны это сделать, если только нет серьезных последствий для производительности. Чтобы получить "счетчик", вам, по сути, нужен код типа:

MovieType.objects.count()

Я думаю, хотя я не использовал Django уже много лет. Суть в том, чтобы посчитать объекты в базе данных

Выделите часть вопроса: " Я хочу отобразить переменную count рядом с каждым фильмом, который я добавляю в свой список от 1 до 10, и я хочу, чтобы она увеличивалась/уменьшалась в зависимости от того, удаляю/добавляю ли я новый фильм".

Я думаю, что вам нужно использовать счетчик forloop при итерации по списку фильмов. Например, в вашем шаблоне:

# i.e.: If your queryset name is movies 
<h3>There are {{ movies.count }} movies on my list.</h3>  # The display of the total amount of movies in the database

# I'm using a table to layout list
<table>
     <thead>
          <th>No.</th>
          <th>Movie Name</th>
          # other columns
     </thead>

     <tbody>
          {% for movie in movies %}
               <tr>
                    # within the loop, there's a counter called 'forloop.counter'. It starts counting from 1 to n number of movies.
                    <td>{{ forloop.counter }}</td>

                    <td>{{ movie.name }}</td>
                    
                    # other movie details
               </tr>
          {% endfor %}
     </tbody>
</table>

Допустим, у нас в списке 3 фильма, тогда список/таблица будет выглядеть так:

# There are 3 movies on my list.

# No.      Name                           Other details 
# 1        Jack Sparrow Team              Details 
# 2        Game Night                     Details    
# 3        The Great Stackoverflow Show   Details

Надеюсь, это то, что вы имели в виду.

Вернуться на верх