gpt4 book ai didi

django - 在 Django 中获取 ContentType id 以获得通用关系

转载 作者:行者123 更新时间:2023-12-04 01:49:39 25 4
gpt4 key购买 nike

我正在将一个项目从 Rails 移植到带有旧数据库的 Django。在 Rails 中,我有一个多态关联,允许我向数据库中的任何行添加脚注。我正在尝试在 Django 应用程序中实现相同的功能。我找到了关于通用关系的文档,它看起来很完美。不幸的是,我首先需要在旧数据库中创建新字段来保存相关模型的 ContentType id。我只使用了 2 个表的多态关联,所以我只需要来自 Django 应用程序的这两个对应的 id,但我似乎无法找到在 Django 中查找 ContentType id 的适当命令。

任何建议都是最受欢迎的。我尝试搜索以前的问题,但似乎找不到我要找的东西。非常感谢您的时间和帮助。

最佳答案

来自 docs
你可以做:

>>> b = Bookmark.objects.get(url='https://www.djangoproject.com/')
>>> bookmark_type = ContentType.objects.get_for_model(b)
>>> TaggedItem.objects.filter(content_type__pk=bookmark_type.id,
... object_id=b.id)
所以只需实例化你的模型的一个实例,然后做 ContentType.objects.get_for_model(<instance>).id我认为也有一种方法可以只传递模型名称……如果这样做会更好,请告诉我,我会尝试找到它;我过去用过。

关于django - 在 Django 中获取 ContentType id 以获得通用关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12716970/

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