gpt4 book ai didi

python - 管理员搜索字段中的 Django UUIDField

转载 作者:太空宇宙 更新时间:2023-11-04 09:51:21 25 4
gpt4 key购买 nike

在一个模型中,我有一个像这样的 UUIDField:

uuid = models.UUIDField(_('UUID'), primary_key=True, default=uuid.uuid4, editable=False)

在相应的管理中,我会按 uuid 值进行搜索。所以我有:

class MyAdmin(admin.ModelAdmin):

search_fields = ('uuid',)

但这种方式不会产生任何结果。我需要考虑一下吗?我使用 Django 1.11

最佳答案

当通过 list_display 在管理站点中显示 UUIDField 时,也可能在其他地方,Django 将 UUID 格式化为破折号,因此您可能正在使用破折号进行搜索。但是,它在数据库中存储时没有破折号,如果您不使用破折号进行搜索,它应该会按预期工作。

如果您不喜欢 list_display 输出中的差异,您可以考虑更改它的显示方式(未经测试):

class MyModel(models.Model):
uuid = models.UUIDField(_('UUID'), primary_key=True, default=uuid.uuid4, editable=False)

def clean_uuid(self):
return self.uuid.replace('-', '')

class MyAdmin(admin.ModelAdmin):
list_display = ('clean_uuid',)
search_fields = ('uuid',)

关于python - 管理员搜索字段中的 Django UUIDField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47682369/

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