Не зная о ваших намерениях получить экземпляр в вашем представлении и выполнить любые дальнейшие операции с ним, ниже может быть простой Po C для достижения этого.
Однако я настоятельно рекомендую вам go с помощью решения iklina c и пересмотрите свой архитектурный дизайн.
Вы можете создать модель, которая будет служить вам счетчиком. Обратите внимание, что это также может быть сделано с использованием постоянного решения, такого как pickle
, но я предпочитаю делать это следующим образом.
Создать таблицу, которая будет действовать как счетчик
class InstanceSq(models.Model):
sequence_id = models.IntegerField()
Таблица для этой модели всегда будет содержать только 1 строку.
Получите его в файле views.py, как показано ниже:
try:
sequence_id = InstanceSq.objects.get(id=1).sequence_id
except InstanceSq.DoesNotExist:
#This is when it runs first time
instance_row = InstanceSq(sequence_id = 1)
instance_row.save()
sequence_id = 1
#..
#Here you get the current instance as:
instance_ip = Load_Balancing.objects.filter(sequence=sequence_id)
#Use your instance here and do whatever you want to do
#.. and then
# Rotation logic
new_id = sequence_id % 4 + 1
current = InstanceSq.objects.select_for_update().get(id=1) #to avoid race conditions
current.sequence_id = new_id
current.save()