gpt4 book ai didi

django - 如何获取 Django 模型的应用程序?

转载 作者:行者123 更新时间:2023-11-28 19:36:27 25 4
gpt4 key购买 nike

我有一个具有通用关系的模型:

TrackedItem --- genericrelation ---> any model

我希望能够从初始模型中通用地获取跟踪的项目。

我应该能够在任何模型上执行此操作而无需修改它。

为此,我需要获取内容类型和对象 ID。获取对象 ID 很容易,因为我有模型实例,但获取内容类型却不是:ContentType.object.filter 需要模型(它只是 content_object.__class__.__name__)和 app_label。

我不知道如何以可靠的方式获取模型所在的应用。

现在我做 app = content_object.__module__.split(".")[0],但它不适用于 django contrib 应用程序。

最佳答案

app_label 可作为任何模型的 _meta 属性中的一个属性使用。

from django.contrib.auth.models import User
print User._meta.app_label
# The object name is also available
print User._meta.object_name

关于django - 如何获取 Django 模型的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2742689/

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