我有一个模型A定义了很多字段。
下面是我想要做的事情:每当某个方法(比如在模型A上调用x() )时,我希望在另一个模型(比如模式B)中创建一个新记录,其中包含所有字段(除了pk)。
下面是我对解决这个问题的想法:
x()时序列化当前对象,修剪我不需要的字段,实例化B(**serialized_json)这样,每次调用该方法时,我都会在模型B中记录它,并将所有相关字段都存储在其中。这达到了我的目标。
有更好的方法吗?我很肯定会有。
发布于 2017-04-13 05:06:06
您可以使用django模型信号概念:
@receiver(post_save, sender=Model1)
def replicate_model1(sender, instance, **kwargs):
# instance will have the Model1 data which is already saved
model_obj = Model2(field1=instance.field1, ....)
model_obj.save()Django docs参考文献:https://docs.djangoproject.com/en/1.10/topics/signals/
https://stackoverflow.com/questions/43382419
复制相似问题