Skip to content

Instantly share code, notes, and snippets.

@jerinisready
Created December 29, 2020 09:52
Show Gist options
  • Save jerinisready/22ba18a08d289a5e0a66c56781c80482 to your computer and use it in GitHub Desktop.
Save jerinisready/22ba18a08d289a5e0a66c56781c80482 to your computer and use it in GitHub Desktop.
A simple script to generate Dummy Product Reviews in django oscar.
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