diff options
author | luxagraf <sng@luxagraf.net> | 2023-06-29 12:40:43 -0500 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2023-06-29 12:40:43 -0500 |
commit | 8fe8e1c333b721c61f1723e114bc46f2698fd6c1 (patch) | |
tree | 5bb9ced6665d23840cea5a63bffbf89e6a659b78 /app/deals/models.py |
initital commit of pd tool
Diffstat (limited to 'app/deals/models.py')
-rw-r--r-- | app/deals/models.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/app/deals/models.py b/app/deals/models.py new file mode 100644 index 0000000..b7d77d6 --- /dev/null +++ b/app/deals/models.py @@ -0,0 +1,79 @@ +import datetime +import os + +from django.dispatch import receiver +from django.contrib.gis.db import models +from django.utils.html import format_html, format_html_join + +class Deal(models.Model): + asin = models.CharField(max_length=200) + category = models.CharField(max_length=200) + brand = 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=12, null=True) + original_price = models.CharField(max_length=12, null=True) + discount_percent = models.CharField(max_length=12, null=True) + discount_percent_num = models.FloatField(null=True) + url = models.CharField(max_length=200) + + class Meta: + ordering = ('title',) + + def __str__(self): + return self.title + + def amazon_link(self): + return format_html('<a target="_blank" href="%s">%s</a>' % (self.url, 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("<a target='_blank' href='%s'>wired search</a>" % (term)) + admin_link.short_description = 'Link' +""" +import csv +path = "pdelectronicsdata.csv" +with open(path) as f: + reader = csv.reader(f) + count = 0 + for row in reader: + price = f'{num(row[10]):.2f}' + if row[5] == "Y": + prime = True + else: + prime = False + _, created = Deal.objects.get_or_create( + print(row) + count = 1 + asin=row[0], + cateogry=row[1], + brand=row[2], + title=row[4], + prime_only=row[5], + promo_type=row[6], + deal_price= Decimal(price), + discount_percent=row[13], + url=row[14], + ) + 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 +""" |