从django管理面板

时间:2016-04-18 09:43:48

标签: python django django-admin

我在html文件中添加了一个下拉列表,但是我想让一些用户有机会从django管理面板编辑其内容。为此,我想在管理面板中放入一个文本框,将一个项目添加到下拉列表中,当用户编写" apple"例如,在文本框上," apple"将被添加到下拉列表中。

其实我想学习的是如何自定义下拉列表?我的意思是现在我有一个这样的模型;

class Industry(models.Model):
    TYPES = (
        ('apple', 'apple'),
        ('orange', 'orange'),
    )
    type = models.CharField(max_length=30, choices=TYPES)

我想要的是我允许用户放置他们自己的TYPES。

提前谢谢你。

1 个答案:

答案 0 :(得分:1)

如果要更改选项,请为该类型使用单独的模型。这将为您提供更大的灵活性。

class Industry(models.Model):
    type = ForeignKey('IndustryType')
    ...

class IndustryType(models.Model):
    type_name = models.CharField(max_length=30)

    def __str__(self):  # use __unicode__ for Python 2
        return self.type_name

行业管理员表单会在类型下拉列表旁边显示绿色+。这将允许您添加一个新类型,该类型将添加到下拉列表中。