Я новичок в базах данных и SQLAlchemy.В настоящее время я делаю веб-приложение, в котором есть пользователи, и у каждого пользователя есть свои профили.Насколько мне известно, это отношения один ко многим.Проблема в том, что когда я пытаюсь создать профиль, я получаю сообщение об ошибке целостности, и я не уверен, почему.Это код в моем файле моделей
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key = True, autoincrement = True)
username = db.Column(db.String(20), unique = True, nullable = False)
email = db.Column(db.String(120), unique = True, nullable = False)
password = db.Column(db.String(60), nullable = False)
profiles = db.relationship('Profile', backref = 'creator', lazy = True)
def __repr(self):
return f"User('{self.username}', '{self.email}')"
class Profile(db.Model):
id = db.Column(db.Integer, primary_key = True)
profileName = db.Column(db.String(), nullable = False)
firstName = db.Column(db.String(20), nullable = False)
lastName = db.Column(db.String(30), nullable = False)
email = db.Column(db.String(), nullable = False)
phone = db.Column(db.String(), nullable = False)
address = db.Column(db.String(), nullable = False)
address1 = db.Column(db.String(), nullable = True)
city = db.Column(db.String(), nullable = False)
state = db.Column(db.String(), nullable = False)
zipCode = db.Column(db.String(), nullable = False)
country = db.Column(db.String(), nullable = False)
cc = db.Column(db.String(16), nullable = False)
expMonth = db.Column(db.String(2), nullable = False)
expYear = db.Column(db.String(2), nullable = False)
cvv = db.Column(db.String(4), nullable = False)
url = db.Column(db.String(), nullable = False)
user_id = db.Column(db.Integer(), db.ForeignKey('user.id'), nullable = False)
Это код в моем файле маршрутов
@login_required
def newProfile():
form = CheckoutForm()
if form.validate_on_submit():
profile = Profile(profileName = form.profileName.data, firstName = form.firstName.data, lastName = form.lastName.data,
email = form.email.data, phone = form.phone.data, address = form.address.data, address1 = form.address1.data, city = form.city.data,
state = form.state.data, zipCode = form.zipCode.data, country = form.country.data, cc = form.cc.data, expMonth = form.expMonth.data,
expYear = form.expYear.data, cvv = form.cvv.data, url = form.url.data, creator = current_user)
db.session.add(profile)
db.session.commit()
flash(f"Profile Created!")
return redirect(url_for('profiles'))
return render_template('newProfile.html', title="New Profile", form = form)
Я предполагаю, что это что-то с моими профилями и переменными user_id, но я могуне понять что.Я посмотрел на документацию и посмотрел на некоторые решения по переполнению стека, но все еще не мог заставить его работать.Снова извините, если это вопрос n00b.Я новичок в создании веб-приложений и использовании баз данных, поэтому есть много вещей, которые я все еще изучаю и пытаюсь понять!