def category(category_id): form = ItemForm() if form.validate_on_submit(): new_category = Category(form.name.title) new_category.name = form.name.data new_category.text = form.text.data new_category.post_id = category_id new_category.date = datetime.datetime.now() db.session.add(new_category) db.session.commit() category = Category.query.get_or_404(category_id) items = Item.query.filter_by(category_id=category.id).all() recent, top_items = sidebar_data() return render_template('category.html', category=category, recent=recent, top_items=top_items, form=form)
def save(self): records = csv.reader(self.cleaned_data["file"], delimiter=';') for line in records: if line[1] == "BLC_NAME": continue balance = Balance.objects.filter(name=line[1]) if not balance.exists(): balance = Balance() balance.name = line[1] balance.save() else: balance = balance.get() group = Group.objects.filter(name=line[3]) if not group.exists(): group = Group() group.name = line[3] group.save() else: group = group.get() budget_user_group = BudgetUserGroup.objects.filter(name=line[5], group=group.pk) if not budget_user_group.exists(): budget_user_group = BudgetUserGroup() budget_user_group.group = group budget_user_group.name = line[5] budget_user_group.save() else: budget_user_group = budget_user_group.get() budget_user = BudgetUser.objects.filter(name=line[7], group=budget_user_group.pk) if not budget_user.exists(): budget_user = BudgetUser() budget_user.group = budget_user_group budget_user.name = line[7] budget_user.save() else: budget_user = budget_user.get() political_branch = PoliticalBranch.objects.filter(name=line[9]) if not political_branch.exists(): political_branch = PoliticalBranch() political_branch.name = line[9] political_branch.save() else: political_branch = political_branch.get() programme = Programme.objects.filter(name=line[11]) if not programme.exists(): programme = Programme() programme.name = line[11] programme.save() else: programme = programme.get() category = Category.objects.filter(name=line[13], balance=balance.pk, budget_user=budget_user.pk, political_branch=political_branch.pk, programme=programme.pk) if not category.exists(): category = Category() category.balance = balance category.budget_user = budget_user category.political_branch = political_branch category.programme = programme category.name = line[13] category.save() else: category = category.get() item = Item.objects.filter(category=category.pk, budget_year=self.cleaned_data["year"]) if not item.exists(): item = Item() item.category = category item.budget_year = self.cleaned_data["year"] item.value = float(line[14].replace(",", ".")) item.save() else: item = item.get()