过滤器具有最大值,最小值和步长值的下拉列表

时间:2015-01-30 11:45:33

标签: django django-models django-forms django-templates django-views

我想创建一个下拉列表,其中数字的最小值为固定的最大值和固定的步长 例如min = 1 max = 8 step = 2 下拉列表中的选项为:1,2,4,6,8 这三个指标列于表格"项目"

class Project(models.Model):
    min = models.IntegerField(default='4')
    max = models.IntegerField(default='10')
    Note = models.IntegerField(default='1') 

下拉列表中选择的值将存储在另一个表格"详细信息"

class Detail(models.Model):
    pourcentage = models.IntegerField()

我不知道如何使用之前提到的所有数据在表单和视图中构建下拉列表 有人可以帮我吗

1 个答案:

答案 0 :(得分:0)

使用choices选项 - https://docs.djangoproject.com/en/1.7/ref/models/fields/#choices

def generate_choices(start, stop, step):
    return [(i, i) for i in range(start, stop, step)]

min = models.IntegerField(default='4', choices=generate_choices(1, 10, 2))

确定生成选择的函数本身看起来有点奇怪,但是你明白了这一点:)