мне было интересно, если с помощью индексов на модели было возможно:Джанго querysets индексы
class Buildings(models.Model):
island = models.ForeignKey(Island)
townhall = models.IntegerField(default=1)
lumberjack = models.IntegerField(default=0)
stonequarry = models.IntegerField(default=0)
ironmine = models.IntegerField(default=0)
[...]
a=Buildings.objects.get(somecondition)
print a.townhall # 1
a[1] +=1
print a.townhall # 2
В настоящее время она бросает
"TypeError: 'Buildings' object is unindexable"
Причина, почему я хотел бы сделать что-то вроде этого является то, что с помощью индексы упростило бы части кода, как это:
if queue.kind_id == 0: buildings.townhall += 1
elif queue.kind_id == 1: buildings.lumberjack += 1
elif queue.kind_id == 2: buildings.stonequarry += 1
elif queue.kind_id == 3: buildings.ironmine += 1
elif queue.kind_id == 4: buildings.factory += 1
elif queue.kind_id == 5: buildings.shipyard += 1
elif queue.kind_id == 6: buildings.university += 1
к этому:
buildings[queue.kind_id] +=1
Uh моя ошибка: PI означало ссылку на значения в одном объекте через индексы. как сделать объект [0] ссылка object.townhall, object [1] -> object.lumberjack ETC – Robus