我是python和Django的初学者。 你能给我解释一下,我如何从一个原子关系中获得信号的父模型。 例如,我有2个模型:
class ModelOne(models.Model):
name = models.CharField(max_length=20)
class Modeltwo(models.Model):
comment = models.CharField(max_length=20)
mo = models.ForeignKey(ModelOne)
并发出发帖请求的信号:
@receiver(post_save)
def post_save_model(sender,instance,**kwargs):
print("Signal: ",instance.objects.all().last())
保存ModelTwo时如何在post_save_model函数中获取ModelOne的相关对象?
答案 0 :(得分:0)
通过预取,如下所示:
Modeltwos.objects.prefetch_related('modelone_set')
答案 1 :(得分:0)
您可以尝试这样:
@receiver(post_save, sender=ModelTwo)
def post_save_model(sender,instance,**kwargs):
print("ModelOne: ", instance.mo)
因为ModelOne
是ModelTwo
的外键,由字段名称mo
连接。如果要使所有ModelTwo实例都连接到该ModelOne
实例,请尝试如下操作:
@receiver(post_save)
def post_save_model(sender,instance,**kwargs):
all_model_two_instances_queryset = instance.mo.modeltwo_set.all()