import datetime import os from decimal import Decimal from django.dispatch import receiver from django.contrib.gis.db import models from django.utils.html import format_html, format_html_join class Brand(models.Model): name = models.CharField(max_length=200) class Meta: ordering = ('name',) def __str__(self): return self.name class Deal(models.Model): brand = models.ForeignKey(Brand, on_delete=models.CASCADE, null=True) asin = models.CharField(max_length=200) category = models.CharField(max_length=200) brand_str = models.CharField(max_length=200) title = models.CharField(max_length=200, blank=True, null=True) prime_only = models.BooleanField(default=True) promo_type = models.CharField(max_length=200, blank=True) deal_price = models.CharField(max_length=20, null=True) original_price = models.CharField(max_length=20, null=True) discount_percent_str = models.CharField(max_length=20, null=True) discount_percent = models.FloatField(null=True) url = models.CharField(max_length=200) class Meta: ordering = ('title',) def __str__(self): return self.title def dollars_off(self): return "{:.0f}".format(Decimal(self.original_price) - Decimal(self.deal_price)) def get_deal_price_pretty(self): return "{:.0f}".format(Decimal(self.deal_price)) def amazon_link(self): return format_html('Amazon' % (self.url)) admin_link.short_description = 'Link' def search_wired(self): term = "https://www.google.com/search?q=%s" % (str(self.title)) term = term+"+site%3Awired.com" return format_html("wired search" % (term)) admin_link.short_description = 'Link' def get_airtable_code(self): return format_html("Get code" % (self.pk)) admin_link.short_description = 'Link' def search_ccc(self): return format_html("Deal?" % (self.asin)) admin_link.short_description = 'Link' """ with open(path) as f: reader = csv.reader(f) count = 0 for row in reader: if count > 0 print(row) count = count+1 with open(path) as f: reader = csv.reader(f) count = 0 for row in reader: print(row) count = count+1 import csv path = "pdelectronicsdata.csv" with open(path) as f: reader = csv.reader(f) count = 0 for row in reader: if count > 0: print(row) if row[4] == "Y": prime = True else: prime = False _, created = Deal.objects.get_or_create( asin=row[0], category=row[1], brand_str=row[2], title=row[3], prime_only=prime, promo_type=row[5], deal_price= row[9], original_price = row[10], discount_percent_str=row[12], url=row[13], ) count = count+1 b, created = Brand.objects.get_or_create( name = deal.brand_str ) deal.brand = b deal.save() with open(path) as f: reader = csv.reader(f) count = 0 for row in reader: if count > 0 if row[5] == "Y": prime = True else: prime = False _, created = Deal.objects.get_or_create( print(row) asin=row[0], cateogry=row[1], brand=row[2], title=row[3], prime_only=row[4], promo_type=row[5], deal_price= row[9], original_price = row[10], discount_percent=row[11], url=row[12], ) print(row[0], row[1], row[2], row[4],row[5],row[6],row[10],row[13],row[14]) title, prime_only, promo_type, deal_price, discount_percent, url) _, created = Deal.objects.get_or_create( asin=row[0], cateogry=row[1], brand=row[2], title=row[4], prime_only=row[5], prime_only=row[6], deal_price=row[10], discount_percent=row[13], url=row[14], ) # creates a tuple of the new object or # current object and a boolean of if it was created """