나는 세 개의 Python 클래스, Student
, Event
및 StudentEvent
을 가지고 있습니다. 편의상서로를 참조하는 pickling 객체
:
class Student:
def __init__(self, id):
self.id = id
class Event:
def __init__(self, id):
self.id = id
self.studentevents = []
class StudentEvent:
def __init__(self, student, event, id):
self.student = student
self.event = event
self.id = id
내가 가진 내가 읽고 분석 할 수 있습니다 사전에 투입이 클래스의 각 인스턴스의 수천 수백만의 사이. 객체를 읽고 생성하는 데는 많은 시간이 걸리므로, 나는 그들을 3 개의 사전, students_dict
, events_dict
, studentevents_dict
으로 피클 링하고 싶습니다.
그럼, 할 수 있습니다. 그러나 나중에 내가 사전을 풀어 버리면 studentevents_dict
의 학생과 이벤트는 students_dict
과 events_dict
에있는 Students
과 Events
을 언급하지 않을 것입니다. 맞습니까? StudentEvent
에 의해 참조되는 이벤트는 동일한 ID에 함께 Event
을 수 없기 때문에 나는 Event
객체에 관련된 StudentEvents
의 목록을 채우는 예를 들어, 나중에 개체를 수정할 경우
, 그 문제가 될 수있다 events_dict
.
, 당신은 SQLite는 같은 데이터베이스로 전환하는 것이 좋습니다. –
그건 분명히 내가 제시 한 경우에 더 빠를 것이다. 그러나 위의 정의에서 각각의 객체에 대해 보존하고 싶은 클래스 메소드와 계산 및 기타 정크가 많이 숨겨져있다. 서로를 참조하는 피클 링. 그래도 좋은 제안! –