단순한 액세스를 위해 ManyToManyField 및 ForeignKey에 관련_이름 적용
질문:
무엇입니까? ManyToManyField에 대한 관련_이름 인수의 목적 및 ForeignKey 필드? 아래 예를 고려하십시오.
class Map(db.Model): members = models.ManyToManyField(User, related_name='maps', verbose_name=_('members'))
사용자 모델에서 관련_이름='maps'를 정의하면 어떤 효과가 있습니까?
답변:
관련_이름 속성은 참조 모델(이 경우 User)에서 현재 모델(Map)로의 역관계 이름을 정의합니다. 일반적으로 Django는 접미사 _set를 사용하여 자동으로 역관계를 생성하지만 사용자 정의 관련 개체에 액세스하는 더 간결한 방법을 제공합니다.
제공된 예에서 current_user라는 사용자 개체가 있는 경우 current_user.maps.all()을 사용하여 연관된 지도에 액세스할 수 있습니다. 이는 current_user.map_set.all()과 같은 기본 역관계 구문보다 더 편리합니다.
관련_이름을 ''로 설정하여 역관계 생성을 완전히 비활성화할 수도 있습니다.
위 내용은 `관련_이름`은 Django의 `ManyToManyField` 및 `ForeignKey`에서 관련 모델에 대한 액세스를 어떻게 단순화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!