Python 在Django中有没有过滤选项的方法?

Python 在Django中有没有过滤选项的方法?,python,sql,django,user-interface,Python,Sql,Django,User Interface,Django中有一个名为choices的字段,您可以在其中填写“choices” ''' ''' 比如说 但是,如果选择的列表远远大于3个呢?有没有办法添加搜索功能,以便缩小搜索范围?像自动完成?我有一个300多个项目的列表,我想作为选择,但我只想在我键入相关字母时显示它们-即,我键入“a”,我想要一个以a开头的选项下拉列表 在Django中有没有一种方法可以轻松做到这一点?我很确定,选择并不是为您想要做的事情而设计的。如果您有300多个项,这意味着您应该为这些项创建一个表(模型),而不是将它们

Django中有一个名为choices的字段,您可以在其中填写“choices”

'''

'''

比如说

但是,如果选择的列表远远大于3个呢?有没有办法添加搜索功能,以便缩小搜索范围?像自动完成?我有一个300多个项目的列表,我想作为选择,但我只想在我键入相关字母时显示它们-即,我键入“a”,我想要一个以a开头的选项下拉列表


在Django中有没有一种方法可以轻松做到这一点?

我很确定,选择并不是为您想要做的事情而设计的。如果您有300多个项,这意味着您应该为这些项创建一个表(模型),而不是将它们全部塞进不同模型的单个属性的选项中。然后通过FK、M2M或任何适用于您的原始模型和新模型之间的关系创建。@m.arthur好的,如果我这样做,那么有没有办法搜索和过滤该模型?对于自动完成行为,您需要使用jQuery,django无法单独做到这一点。搜索jQuery+django自动完成教程,有很多。
connector = models.CharField(
        max_length=255,
        null=True,
        blank=True,
        choices = Food,
        verbose_name="food",
        

Food = [
            ('chicken', 'Chicken'),
            ('queso', 'Queso'),
            ('carne', 'Carne')
        ]