2017-11-27 4 views

답변

1

이 난 그냥 발견하는 방법입니다, 전체 제품 카탈로그를 통해 I주기 (I 다른 리소스와도 작동 할 수 있다고 생각합니다.), 내가 원하는 메타 파일을 찾을 때까지 각 메타 필드를 통과합니다. 그런 다음 metafield.destroy()를 호출합니다. 이처럼 :

for product in products: 
    for metafield in product.metafields(): 
     if metafield.namespace == "global": 
      metafield.destroy() 

원래 나는 product.delete(metafield)을 위해 노력했지만, 난 내가 아직 해결하는 방법을 잘 모르겠어요 406 오류가 있었다.

내가 사용하는 각 메타 필드는 고유 한 제품 식별자이며 다른 리소스와 공유되지 않으므로 전체 메타 필드를 파괴해도 부정적인 결과가 없으므로 필자는이 방식으로 내 메타필드를 손상시킬 수 있습니다. 나는이 방법이 완전히 metafield을 파괴하면 인식하지,하지만 공유 metafields을에 사용하기 전에 다음과 같은 경우를 테스트하는 것입니다 :

Assume product A has metafield X 
Assume product B has metafield X 
destroy metafield X from product A 
does product B still have metafield X? 

아마도 당신은 당신의 필요를 위해 작동하는 무언가에이 솔루션을 적용 할 수 있습니다.

편집 : Shopify의 python 온라인 문서는 무시 무시합니다. 나는이 모든 것을 찾기 위해 dir()과 help()를 사용했다.

+0

문서가 얼마나 무서운 지 믿을 수 없습니다. 당신의 도움을 주셔서 감사합니다. 나는 그것을 작동 시켰어. – Buts