加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Django多模型继承,django-push-notifications

发布时间:2020-12-20 13:49:44 所属栏目:Python 来源:网络整理
导读:我正在使用Django 1.8为移动应用程序编写后端. django-push-notifications lib提供了GCMDevice模型.问题是我已经有一个带有一些必填字段的设备模型和一些我不想丢失的逻辑. 我想要做的是继承整个GCMDevice功能并将它们调整为我的设备模型(btw继承另一个mixin
我正在使用Django 1.8为移动应用程序编写后端. django-push-notifications lib提供了GCMDevice模型.问题是我已经有一个带有一些必填字段的设备模型和一些我不想丢失的逻辑.

我想要做的是继承整个GCMDevice功能并将它们调整为我的设备模型(btw继承另一个mixin,提供空间数据字段,我希望保留自定义对象管理器).我阅读了3种不同的django模型继承思想,但它们似乎都没有解决我的问题(保持管理者,提供django-push-notifications功能,保留我的设备模型字段).也许OneToOne协会会做这项工作?

理念:

class Device(MyMixin):
    gcm_device = models.OneToOneField(GCMDevice)
    my_other_field = models.TextField()

    def send_message(self,payload):
        self.gcm_device.send_message(payload)

解决方法

为什么有必要继承?组合可以替代你试图通过继承做什么吗?

—————–编辑答案—————–

class Device(models.Model):
    ...
    gcm_device = models.OneToOneField(GCMDevice)

我给出了最简单的情况,你也可以将GCM设备作为主键.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读