Python 按字段选择搜索\u字段

Python 按字段选择搜索\u字段,python,django,Python,Django,我有一个基本的django模型,我想知道是否有一种方法可以让搜索字段在我映射到的值中搜索,而不是在数据库中保存的值中搜索,是否有一种可能的方法可以通过值“Premium”进行搜索 Model.py class User(models.Model): account = models.ForeignKey('Account') name =models.CharField(max_length=50) ACCOUNT_CHOICES = ( (1, 'Prem

我有一个基本的django模型,我想知道是否有一种方法可以让搜索字段在我映射到的值中搜索,而不是在数据库中保存的值中搜索,是否有一种可能的方法可以通过值“Premium”进行搜索

Model.py

class User(models.Model):
    account = models.ForeignKey('Account')
    name =models.CharField(max_length=50)
    ACCOUNT_CHOICES = (
       (1, 'Premium'),
       (0, 'Normal'),)
    type = models.CharField(choices=ACCOUNT_CHOICES)
管理员

class UserAdmin(admin.ModelAdmin):
     search_fields = ['name','type']
    pass
admin.site.register(User,UserAdmin)

评论讨论总结

您需要为搜索筛选器设置一个自定义查询集,该筛选器尝试将“选项显示”字段的查找反转为其值。另一个小问题是,多个值可以具有相同的选项显示名称,因此您需要考虑这一点

以下是如何实现这一目标的示例:


我想这已经在这里得到了回答:-请查看并让我们知道?这不一样,我想我不需要自定义选择模型,我只需要能够使用映射值进行搜索。如果您使用自定义选择模型字段,您可以从下拉框中选择选项,这比无论如何都必须键入值更有效(假定值是固定的/静态的)。除非我遗漏了什么??我的问题不是在添加或编辑记录时,我仍然可以在添加或编辑记录时使用下拉框,我的问题是我希望能够使用“Premium”或“Normal”搜索的搜索框,而不是0或1搜索框应显示与添加/编辑表单相同的表单小部件,如中所示。(这是否没有发生??)如您所见,该字段被显示选项名称(即正常值)而不是整数值(即0)的下拉框替换。如果您使用前面提到的自定义小部件,这应该会自动工作。除非问题是你想要一个文本框,而不是一个下拉字段——尽管我想不出一个合理的理由来说明为什么需要这样做。