如何在数据库中获取contentType forefer键的名称

发布于 2025-02-02 17:18:08 字数 739 浏览 2 评论 0原文

我在下面有这样的字段,

from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType

class MessageLog(BaseModel):
    receiver_type = m.ForeignKey(
        ContentType,
        related_name="receiver_%(class)s_set", on_delete=m.CASCADE,null=True)
    receiver_id = m.PositiveBigIntegerField(null=True)
    receiver = GenericForeignKey('receiver_type', 'receiver_id')

我可以这样访问成员,并且都返回数字。

m = MessageLog.objects.get(id=1)

print(m.receiver_id) //  2
print(m.receiver_type) // 12 

但是,print(m.receiver)

object has no attribute 'receiver'

我想获取receiver_type名称的名称。

我该怎么做?

I have field like this below

from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType

class MessageLog(BaseModel):
    receiver_type = m.ForeignKey(
        ContentType,
        related_name="receiver_%(class)s_set", on_delete=m.CASCADE,null=True)
    receiver_id = m.PositiveBigIntegerField(null=True)
    receiver = GenericForeignKey('receiver_type', 'receiver_id')

 I can access member like this, and both returns the number.

m = MessageLog.objects.get(id=1)

print(m.receiver_id) //  2
print(m.receiver_type) // 12 

However print(m.receiver)

object has no attribute 'receiver'

I want to get the name of receiver_type name.

How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文