少し自分で勉強してここまでたどり着いたのですが、まだエラーが消えません。
djangoで外部キーを設定して、2つのテーブルを作っています。
結合したテーブルから情報をとったり更新したりしたいのですが、上手くいきません。
どなたかアドバイスを頂ければと思います。
エラーメッセージ
sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship Info.kanjis - there are no foreign keys linking these tables. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression.
dbtables
1class Info(models.Model): 2 __tablename__ = 'posts_info' 3 info_id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, autoincrement = True) 4 code = models.CharField(verbose_name='code', max_length = 4) 5 created_timestamp_at = models.DateTimeField(verbose_name='登録日時', auto_now_add=True, null = True) 6 kanjis = relationship("Kanji", backref = "posts_kanjis") 7 8class Kanji(models.Model): 9 __tablename__ = 'posts_kanji' 10 kanjiid = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True, autoincrement=True) 11 info_id = sqlalchemy.Column(sqlalchemy.Integer, sqlalchemy.ForeignKey('Info.info_id',onupdate = 'CASCADE', ondelete = 'CASCADE')) 12 created_timestamp_at = models.DateTimeField(verbose_name='登録日時', auto_now_add=True) 13 infos = relationship("Info", backref = 'posts_kanji', foreign_keys = [Info.info_id])
sqlalchemy
1code = session.query(dbtables.Kanji).join(dbtables.Info, dbtables.Info.info_id == dbtables.kanji.info_id).all 2