def create_car(): CarForm.add_fields() form = CarForm() if form.validate_on_submit(): car = Car() # Сколько языков заполнено столько и создаем langs = Language.query.all() for key in form.data: if key in [lang.code for lang in langs]: lang = [lang for lang in langs if lang.code == key] car.names.append( CarLanguage(name=form.data[key], language=lang[0])) car.year = int(form.year.data) db.session.add(car) db.session.commit() flash('You successfuly create new car') return redirect(url_for('.cars')) return render_template('admin/create_car.html', title='Create new Car', form=form)
def cars(count=100): fake = Faker() i = 0 user_count = User.query.count() langs = Language.query.all() car_names_len = len(car_names) while i < int(count): u = User.query.offset(randint(0, user_count - 1)).first() c = Car() c.year = randint(1970, datetime.now().year) c.timestamp = fake.past_date() c.users.append(u) for lang in langs: if lang.code == 'en': c.set_name(lang, car_names[randint(0, car_names_len - 1)][0]) elif lang.code == 'ru': c.set_name(lang, car_names[randint(0, car_names_len - 1)][1]) db.session.add(c) try: db.session.commit() i += 1 except IntegrityError: db.session.rollback() print('{} fake cars were successfully created.'.format(i))