エンティティ クラスの定義を分割したい。つまり、最初にクラスを宣言した後 (ただし、マッピングを生成する前) に列を追加したい。これはまったく可能ですか?
私の問題を以下のサンプルコードに減らしました。pony.orm.core.ERDiagramError: Reverse attribute for Passport.person not found
マッピングの生成時にスローされます。クラス定義を入れるとすべてが機能しますが、パスポート部分を純粋な人passport = Optional("Passport")
の部分から分割したいと思います。
答えは「ごめんなさい、デイブ。申し訳ありませんが、それはできません」というだけかもしれません。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from pony.orm import *
db = Database()
### PART 1: Person ###
class Person(db.Entity):
id = PrimaryKey(int, auto=True)
### PART 2: Passport (belonging to a Person) ###
Person.passport = Optional("Passport")
class Passport(db.Entity):
person = Required("Person")
db.bind("sqlite", ":memory:")
db.generate_mapping(create_tables=True)