我正在用Django 1.8编写一个移动应用程序的后端。django-push-notifications库提供了GCMDevice模型。问题是,我已经有了一个Device模型,其中包含了一些强制字段和一些我不想丢失的逻辑。
我想要做的是继承整个GCMDevice功能,并调整它们以适应我的设备模型(顺便说一句,它继承了另一个提供空间数据字段的混合体,其中设置了自定义对象管理器( object ),我希望保留它)。我读过3种不同的django模型继承思想,但它们似乎都解决不了我的问题(保持管理器,提供django-push-notifications功能,保留Device模型字段)。也许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)发布于 2015-05-14 21:19:14
有必要继承的原因吗?作文能代替你试图通过继承所做的事情吗?
class Device(models.Model):
...
gcm_device = models.OneToOneField(GCMDevice)我已经给出了最简单的例子,你也可以把GCM设备作为你的主键。
https://stackoverflow.com/questions/30226377
复制相似问题