저는 파이썬과 장고의 초보자입니다. 어떻게하면 onetomany 관계에서 신호에서 부모 모델을 얻을 수 있는지 설명해 주시겠습니까? 예를 들어, 두 가지 모델이 있습니다.
class ModelOne(models.Model):
name = models.CharField(max_length=20)
class Modeltwo(models.Model):
comment = models.CharField(max_length=20)
mo = models.ForeignKey(ModelOne)
그리고 post_save에 대한 신호 :
@receiver(post_save)
def post_save_model(sender,instance,**kwargs):
print("Signal: ",instance.objects.all().last())
ModelTwo를 저장할 때 post_save_model 함수에서 ModelOne의 관련 객체를 얻으려면 어떻게해야합니까?
다음과 같이 시도 할 수 있습니다.
@receiver(post_save, sender=ModelTwo)
def post_save_model(sender,instance,**kwargs):
print("ModelOne: ", instance.mo)
필드 이름으로 연결된 ModelOne
ForeignKey 이기 때문 입니다 . 해당 인스턴스에 연결된 모든 ModelTwo 인스턴스를 얻으려면 다음과 같이 시도하십시오.ModelTwo
mo
ModelOne
@receiver(post_save)
def post_save_model(sender,instance,**kwargs):
all_model_two_instances_queryset = instance.mo.modeltwo_set.all()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다