-
Notifications
You must be signed in to change notification settings - Fork 1
/
dummy_data.py
68 lines (46 loc) · 1.74 KB
/
dummy_data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import os , django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
django.setup()
from products.models import Product, Brand, Review
from django.contrib.auth.models import User
import random
from faker import Faker
def add_brands(n):
fake = Faker()
images = ['1.jpg','2.jpg','3.jpg','4.jpg','5.jpg','6.jpg','7.jpg']
for x in range(n):
Brand.objects.create(
name = fake.name(),
image = f"brands/{images[random.randint(0,5)]}"
)
print(f'{n} Brands added successfully')
def add_products(n):
fake = Faker()
images = ['1.jpg','2.jpg','3.jpg','4.jpg','5.jpg','6.jpg','7.jpg']
flags = ['sale', 'new' , 'feature']
for x in range(n):
Product.objects.create(
name = fake.name(),
image = f"product/{images[random.randint(0,5)]}",
#price = random.randint(100,500),
price = round(random.uniform(99.99,599.99),2),
flag = flags[random.randint(0,2)],
brand = Brand.objects.get(id=random.randint(1,50)),
sku = random.randint(1000,10000000),
subtitle = fake.text(max_nb_chars=50),
description = fake.text(max_nb_chars=200),
quantity = random.randint(5,35),
)
print(f'{n} Brands added successfully')
def add_reviews(n):
fake = Faker()
for x in range(n):
Review.objects.create(
product = Product.objects.get(id=random.randint(1,100)),
user = User.objects.get(id=random.randint(1,5)),
review = fake.text(max_nb_chars=500),
rate = random.randint(1,5),
)
print(f'{n} Reviews added successfully')
#add_brands(100)
add_reviews(1000)