Я хочу разделить определение класса сущности, т. Е. Добавить столбцы после того, как я изначально объявил класс (но до того, как я сгенерировал отображение). Это вообще возможно?В 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)
В конце концов, я трачу гораздо больше времени на то, чтобы справиться с реальной проблемой, чтобы добраться до этого короткого примера, чем фактически решить проблему. Опять же выясняется, что истинная проблема доставит вам долгий путь. –
Привет, Берт! Почему вы хотите это сделать, какова ваша мотивация? –
Привет, Александр! Я пытаюсь написать модульное приложение, то есть приложение, из которого у меня может быть «базовая» версия и версия с добавленными дополнительными модулями. Итак, в этом фиктивном примере вы можете управлять людьми (базовыми) и тем, где вы также можете зарегистрировать паспорта (с дополнительным паспортным модулем). –