Created
December 29, 2020 09:52
-
-
Save jerinisready/22ba18a08d289a5e0a66c56781c80482 to your computer and use it in GitHub Desktop.
A simple script to generate Dummy Product Reviews in django oscar.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from faker import Faker | |
from random import randint, choice | |
from oscar.core.loading import get_model | |
from oscar.core.compat import get_user_model | |
from oscar.apps.catalogue.reviews.models import ProductReview, Vote | |
from oscar.apps.catalogue.models import Product | |
from apps.users.models import User | |
ProductReview = get_model('reviews', 'ProductReview') | |
Vote = get_model('reviews', 'Vote') | |
Product = get_model('catalogue', 'Product') | |
User = get_user_model() | |
pp = Product.objects.all().filter(structure='standalone').first() | |
print("Product id: ", pp.id) | |
fake = Faker() | |
uuu = User.objects.all() | |
for i in range(1, 150): | |
pr = ProductReview(product=pp, score=choice([1, 2, 3, 4, 5]), title=fake.paragraph(30)[:255], body=fake.paragraph(30)[:500], user=None, name=fake.name(), status=ProductReview.APPROVED, ) | |
pr.save() | |
rcount = randint(1, 4) | |
for _user in uuu: | |
choice([pr.vote_up, pr.vote_down])(_user) | |
rcount -= 1 | |
if rcount == 0: | |
break |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment