我想拆分實體類的定義,即在最初聲明類之後(但在生成映射之前)添加列。這是可能嗎?在PonyORM中是否可以拆分實體的定義?
我已經將我的問題簡化爲下面的示例代碼。它在映射的生成上拋出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)
最後,我花了很多時間深入到實際問題,以達到這個簡短的例子,而不是實際解決問題。事實證明,找到真正的問題會讓你走得很遠。 –
嗨,伯特!你爲什麼想這樣做,你的動機是什麼? –
嗨,亞歷山大!我正在嘗試編寫一個模塊化應用程序,即一個應用程序,我可以從中創建「基本」版本和添加額外模塊的版本。因此,在這個虛構的例子中,您可以管理人員(基本),也可以註冊護照(護照模塊爲額外)。 –