2017-11-27 16 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

関連する問題