<p>这是最后的剧本多亏了丹尼尔的修复。在</p>
<pre><code>def handle(self, *args, **options):
security = urllib2.HTTPPasswordMgrWithDefaultRealm()
security.add_password(None, "https://[store-username].myshopify.com/admin/collects/count.json",
“[credentials]”, "[credentials]")
auth_handler = urllib2.HTTPBasicAuthHandler(security)
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
url = 'https://[store-username].myshopify.com/admin/collects/count.json'
collect_feed = urllib2.urlopen(url)
data = collect_feed.read()
js = json.loads(str(data))
count = int(js['count'])
print (count)
page_size = 250
pages = int(math.ceil(count / 250.0))
list_of_collects = Collect.objects.all()
if list_of_collects:
list_of_collects.delete()
current_page = 1
while (current_page <= pages):
opening_url = "https://[store-username].myshopify.com/admin/collects.json?limit=" + str(
page_size) + '&page=' + str(current_page)
security.add_password(None, opening_url,
"[credentials]", "[credentials]")
auth_handler = urllib2.HTTPBasicAuthHandler(security)
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
try:
collect_feed = urllib2.urlopen(opening_url)
except:
collect_feed = None
if collect_feed != None:
data = collect_feed.read()
try:
js = json.loads(str(data))
except:
js = None
if js != None:
for x in range(0, len(js['collects'])):
single_collect = list_of_collects.filter(collect_id=js['collects'][x]["id"]).first()
if single_collect == None:
# Create the model you want to save the image to
collect = Collect(collect_id=js['collects'][x]["id"],
collection_id=js['collects'][x]["collection_id"],
product_id=js['collects'][x]["product_id"])
collect.save()
print("Product and Collection connection number " + str(x) + " was successfully saved")
print(str(current_page) + "ST BATCH IS SUCCESSFULLY SAVED, PROCESSING THE NEXT ONE")
else:
print ("Feed is empty.")
current_page += 1
self.stdout.write(self.style.SUCCESS(‘Collects Updated.'))
</code></pre>