def generate_category(self, categories, amount_posts=5): name = f'{self.fake.text(20)[:-1]} {str(time.time()).replace(".", "")[-5:]}' category = Category( name=name, enabled=True, text1=self.fake.paragraph(20), text2=self.fake.paragraph(20), h1=self.fake.text(20)[:-1], title=self.fake.paragraph(1), slug=translite_slug(name), ) if categories: category.parent = random.choice(categories) category.save() category.image_menu.save( 'filename.jpg', open( os.path.join(settings.BASE_DIR, 'faker/cat_menu', random.choice(self.cat_menu)), 'rb')) category.image.save( 'filename.jpg', open( os.path.join(settings.BASE_DIR, 'faker/cat_image', random.choice(self.cat_image)), 'rb')) category.image_main.save( 'filename.jpg', open( os.path.join(settings.BASE_DIR, 'faker/cat_main_image', random.choice(self.cat_main_image)), 'rb')) for i in range(amount_posts): self.generate_post(category)
def import_categories(self): self.stdout.write(self.style.MIGRATE_LABEL("Importing Categories")) progress = ProgressBar(widgets=[Percentage(), Bar()], maxval=len(self.categories) * 2).start() for i, category in enumerate(self.categories): objCategory = Category(id=category.get('id'), name=category.get('name'), slug=category.get('slug')) objCategory.save() progress.update(i) for i, category in enumerate(self.categories): objCategory = Category.objects.get(pk=category.get('id')) objCategory.parent = Category.objects.get(slug=category.get( 'parent')) if category.get('parent') else None objCategory.save() progress.update(i) progress.finish()