2017-11-27 1 views

Antwort

1

dieser Methode wird nur ich Katalog gerade herausgefunden, fahre ich durch das gesamte Produkt (I denke, dass es auch mit anderen Mitteln funktionieren könnte), dann durch jedes Metafeld, bis ich das Metafeld finde, das ich will. Dann rufe ich metafield.destroy() auf. Wie folgt aus:

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

Ursprünglich arbeitete ich product.delete(metafield) zu tun, aber ich hielt einen 406 Fehler bekommen, dass ich nicht sicher bin, wie noch zu lösen.

Beachten Sie, dass ich meine Metafields auf diese Weise vernichten kann, da jedes Metafeld, das ich (bis zu diesem Punkt) verwende, ein eindeutiger Produktidentifikator ist und von keiner anderen Ressource gemeinsam genutzt wird und somit die Zerstörung des gesamten Metafields keine negativen Folgen hätte. Mir ist nicht bekannt, ob diese Methode vollständig die MetaField zerstört, sondern würde die folgende Fall testen, bevor gemeinsamen MetaFields mit auf:

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? 

Vielleicht können Sie diese Lösung etwas anzupassen, die für Ihre Bedürfnisse funktioniert.

EDIT: Shopify Python Online-Dokumentation ist schrecklich. Ich habe dir() und help() benutzt, um das alles zu finden.

+0

Ich kann nicht glauben, wie schrecklich die Dokumentation ist. Danke für Ihre Hilfe. Ich habe es funktioniert. – Buts

Verwandte Themen