Django继承和Django REST Fram

2024-10-01 02:20:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Django继承有一些问题。。。以下是我使用的模型:

class Entity(models.Model):
    name = models.CharField(max_length=1000)

class CommunicationChannel(models.Model):
    owner = models.ForeignKey(Entity, related_name='communication_channels')
    description = models.CharField(max_length=200, null=True, blank=True)

    def _get_value(self):
        if hasattr(self, 'subvalue'):
            return self.subvalue
        else:
            return "Empty"

    value = property(_get_value)

class Email(CommunicationChannel):
    subvalue = models.EmailField("Email")

class URL(CommunicationChannel):
    subvalue = models.URLField("Email")

序列化程序类如下所示:

^{pr2}$

但是当我尝试访问restapi时,总是得到等于“Empty”的值。有人知道怎么解决这个问题吗?我知道我可以把它们分开,并为每种类型的通信通道设置一个单独的字段,但我真的很想把它们放在一起。在


Tags: nameselftruegetmodelvaluemodelsemail