Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 使用模型的_uunicode__;作为管理表单中的搜索字段_Django_Django Models_Django Admin - Fatal编程技术网

Django 使用模型的_uunicode__;作为管理表单中的搜索字段

Django 使用模型的_uunicode__;作为管理表单中的搜索字段,django,django-models,django-admin,Django,Django Models,Django Admin,是否有一种方法可以将模型的\uuuuuuunicode\uuuuuuu方法包含到搜索字段元组中?我不想创建特殊字段来存储模型中的\uuuuuUnicode\uuuuu结果,因为这个值取决于其他几个模型…嘿,我最近确实需要类似的东西。 如search\u fields中所述,仅适用于表示数据库中列的属性,而不适用于属性 但是,如果您的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 这说明了如何

是否有一种方法可以将模型的\uuuuuuunicode\uuuuuuu方法包含到搜索字段元组中?我不想创建特殊字段来存储模型中的\uuuuuUnicode\uuuuu结果,因为这个值取决于其他几个模型…

嘿,我最近确实需要类似的东西。 如
search\u fields
中所述,仅适用于表示数据库中列的属性,而不适用于属性

但是,如果您的
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

这说明了如何以与Django QuerySet相同的方式在管理搜索字段中进行指定。

不,这是不可能的,因为
搜索字段
元组中提到的字段用于构造sql查询

看第349-370行

UPD.好的,您可以创建另一个字段并将
\uuuu unicode\uuu
方法的值存储在那里。可能它看起来丑陋且效率低下,但这允许您过滤数据库列。 请提供有关
\uuuuunicode\uuuu
方法外观的更多信息

UPD2您的
unicode
方法:

def __unicode__(self):
    return "%s%s%s%s-%s%s" % (
        self.factory.republic.code.upper(),
        self.factory.location.region and self.factory.location.region.code or '00', 
        self.factory.location.code, 
        self.factory.code, 
        self.kind.code, 
        self.code
    ) 
Django
search\u fields
操作他的ORM方法,因此如果您无法执行
Catalog.objects.filter(**lookup\u querys)
,您将无法使用管理中的
search\u字段执行此操作。不幸的是


unicode方法对于6个表的联接和其他程序逻辑来说是非常特殊的。在SQL语言中搜索此字段会很复杂,并且不会使用索引。尝试将结果保存在db列中,并在相关字段更新时进行更新。

好吧,也许您知道如何自定义搜索?”%s%s%s-%s%s“%(self.factory.republic.code.upper()、self.factory.location.region和self.factory.location.region.code或“00”、self.factory.location.code、self.factory.code、self.kind.code、self.code)这是一个目录id。如果我创建这个字段,我必须钩住所有相关模型的修改。我在相关字段搜索中看到了答案。。。但我的unicode是几个表的组合,所以搜索必须全部使用它们。