Я новичок в колбе, создавая веб-приложение на основе колб. Я использую flask-sqlalchemy для подключения к моему sqlite db.Запись на две связанные модели колб-sqlalchemy из одного источника
Когда я импортирую данные из формы и записываю их в базу данных, столбец «apple_id» в модели «Груша» содержит NULL для каждой записи. Предполагается, что он должен содержать идентификатор «Apple». Другие данные записываются так, как я ожидал. Две таблицы имеют отношения «один ко многим», на одно яблоко можно ссылаться несколькими грушами.
Я упростил сценарий, чтобы было легче анализировать.
в models.py:
from flask import current_app, request, url_for
from . import db
class Apple(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64))
class Pear(db.Model):
id = db.Column(db.Integer, primary_key=True)
apple_id = db.Column(db.Integer, db.ForeignKey('cabinet.id'))
amount = db.Column(db.Integer)
В views.py
from . import edit
from flask import render_template, url_for, redirect, flash
from .forms import ApplePearForm
from ..models import Apple, Pear
from .. import db
@edit.route('/apples-and-pears', methods=['GET', 'POST'])
def apples_and_pears():
form = ApplePearForm()
if form.validate_on_submit():
apple = Apple(name=form.name.data)
db.session.add(apple)
pear = Pear(apple_id=apple.id, amount=4)
db.session.add(pear)
flash('fruit was added to database')
return redirect(url_for('browse.fruit_list'))
return render_template('edit/apples_and_pears.html', form=form)