django视图模型迭代

时间:2013-01-03 01:57:41

标签: django django-templates django-views

型号:

class Subject(models.Model):
    name = models.CharField(max_length=50)
    places = models.IntegerField()

class Temp(models.Model):
    subject_r = models.ForeignKey(Subject)

现在在我的观点中,我想做一件简单的事情: 如果Temp表中存在Subject id,则字段位置(整数)需要递减1,否则它应保持原样,然后我想在我的模板中显示正确的places变量。请注意,我不想在数据库中保存新值,我只是希望它在模板中正确显示。

1 个答案:

答案 0 :(得分:1)

temp = Temp.objects.values_list('subject_r_id', flat=True)
subjects = Subject.objects.all()
for subject in subjects:
    if subject.id in temp:
        subject.places = subject.places - 1

由于它只用于显示,我实际上会设置一个任意的新属性,这样就可以清楚地知道你不是要修改数据库了。

temp = Temp.objects.values_list('subject_r_id', flat=True)
subjects = Subject.objects.all()
for subject in subjects:
    if subject.id in temp:
        subject.places_display = subject.places - 1
    else:
        subject.places_display = subject.places


{{ subject.places_display }}