Я пытаюсь настроить базу данных, используя flask -SQLAlchemy в flask / Python, которая содержит отношение один ко многим. Сложность = один, Страна = много, т. Е. Многие страны могут иметь одинаковую сложность, но в стране может быть только одна трудность.
У меня есть родительский класс:
class Difficulty(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, index=True, unique=True)
countries = db.relationship('Country', backref='difficulty', lazy='dynamic')
def assigntocountry(self, country):
if not self.assignedtocountry(country):
self.countries.append(country)
def removefromcountry(self, country):
if self.assignedtocountry(country):
self.countries.remove(country)
def assignedtocountry(self, country):
return self.countries.filter_by(id=country.id).count() > 0
и ребенок класс:
class Country(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, index=True, unique=True)
difficulty_id = db.Column(db.Integer, db.ForeignKey('difficulty.id'))
Используя три метода класса сложности, я смогу sh, чтобы иметь возможность удалить назначение сложности из страны и вернуть трудность_идентификатора обратно в нуль в объекте страны. И наоборот, я хочу присвоить объекту страны сложность и обновить ее идентификатор_удаления.
В настоящее время база данных удаляет ссылку и оставляет поле Трудность_ид прежним. Когда я тогда пытаюсь использовать метод назначенной страны, база данных зависает.
Возможно, что-то очевидное, что я здесь упускаю, и, надеюсь, вопрос отформатирован достаточно хорошо для новичка!
Приветствия, Гав
[Правка: получается, что почему-то я упустил внесение изменений в базу данных ... теперь все выглядит так, как должно.]