gpt4 book ai didi

django - 使用模型的 __unicode__ 作为管理表单中的搜索字段

转载 作者:行者123 更新时间:2023-12-04 05:50:11 26 4
gpt4 key购买 nike

有没有办法包含模型的 __unicode__ 方法 搜索字段 元组?我不想创建特殊字段来存储 的结果__unicode__ 在模型中,因为这个值取决于其他几个模型......

最佳答案

不,这是不可能的,因为 search_fields 中提到的字段tuple用于构造sql查询

https://github.com/django/django/blob/master/django/contrib/admin/views/main.py 349-370 行

UPD。 好吧,您可以创建另一个字段并存储 __unicode__ 的值那里的方法。可能它看起来丑陋且效率低下,但这允许您过滤数据库列。
给我更多信息如何__unicode__方法看起来。

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_fields操作他的 ORM 方法,所以如果你不能执行 Catalog.objects.filter(**lookup_queries) ,您将无法使用 search_fields 执行此操作在管理员中。很遗憾。

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

关于django - 使用模型的 __unicode__ 作为管理表单中的搜索字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10162129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com