按字段选择搜索字段

时间:2014-02-26 13:35:49

标签: python django

我有一个基本的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)

Admin.py

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

1 个答案:

答案 0 :(得分:2)

评论讨论摘要;

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

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

https://github.com/sivaa/django-custom-search-filter/blob/master/app/admin.py