У меня по-прежнему странная ошибка, и мне нужно удалить базу данных, удалить миграции и начать заново, чтобы исправить ее.Он работает какое-то время, затем ошибка просто повторяется.Кто-нибудь может увидеть проблему?
Это ошибка:
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: organisation.phoneWork [SQL: 'INSERT INTO organisation ("orgName", "emailWork", "emailHome", "emailOther", "phoneWork", "phoneMobile", "phoneHome", "backgroundInfo", "postalStreet", "postalTown", "postalState", "postalPostCode") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: ('asdfasdf', '', '', '', '', '', '', '', '', '', '', '')]
Это маршрут:
@app.route('/organisation_add', methods=['GET', 'POST'])
@login_required
def org_add():
form = addOrganisationForm()
if form.validate_on_submit():
organisation = Organisation(orgName=form.organisationName.data,
emailHome=form.emailHome.data, emailWork=form.emailWork.data, emailOther=form.emailOther.data,
phoneWork=form.phoneWork.data, phoneMobile=form.phoneMobile.data, phoneHome=form.phoneHome.data,
backgroundInfo=form.backgroundInfo.data,
postalStreet=form.postalStreet.data, postalTown=form.postalTown.data,
postalState=form.postalState.data, postalPostCode=form.postalPostCode.data)
db.session.add(organisation)
db.session.commit()
flash('You added a new organisation')
return redirect(url_for('organisation', orgId=1))
return render_template('organisation_add.html', title='Add Organisation', form=form)
Это модель:
class Organisation(db.Model):
id = db.Column(db.Integer, primary_key=True)
orgName = db.Column(db.String(64), index=True, unique=True)
emailWork = db.Column(db.String(120), index=True, unique=True)
emailHome = db.Column(db.String(120), index=True, unique=True)
emailOther = db.Column(db.String(120), index=True, unique=True)
phoneWork = db.Column(db.String(120), index=True, unique=True)
phoneMobile = db.Column(db.String(120), index=True, unique=True)
phoneHome = db.Column(db.String(120), index=True, unique=True)
backgroundInfo = db.Column(db.String(1024))
postalStreet = db.Column(db.String(128), index=True)
postalTown = db.Column(db.String(64), index=True)
postalState = db.Column(db.String(12), index=True)
postalPostCode = db.Column(db.String(8), index=True)
Очевидно, что есть и форма.
Что могло бы предотвратить это?Я не могу просто удалить базу данных и миграции, очевидно.Любая помощь будет принята с благодарностью.