格納されたデータはsqliteに保存されているので、以下のように好きに結合してデータを得ることができます。これはSQLPadというクライアントを使って接続している図です。
classSubmission:@classmethoddefcreate_table(cls):return [''' CREATE TABLE submission ( task_id, atcoder_user_name, code_size INT, execution_time INT, memory INT, link, FOREIGN KEY (atcoder_user_name) REFERENCES atcoder_user(name) ) ''','CREATE INDEX task_id_index ON submission(task_id)' ]@classmethoddefdrop_table(cls):return'DROP TABLE submission'def__init__(self,task_id,atcoder_user_name,code_size,execution_time,memory,link):self.task_id=task_idself.atcoder_user_name=atcoder_user_nameself.code_size=code_sizeself.execution_time=execution_timeself.memory=memoryself.link=linkdef__repr__(self):returnf'<TaskID:{self.task_id}, ユーザ名:{self.atcoder_user_name}, Size:{self.code_size}KB, 実行時間:{self.execution_time}ms>'@instantiate('Submission')defcreate(self):returncreate_sql_statement("INSERT INTO submission VALUES ({}, {}, {}, {}, {}, {})",self.task_id,self.atcoder_user_name,self.code_size,self.execution_time,self.memory,self.link )@classmethoddefdelete(cls,task_id):returnrun_sqls(f'DELETE FROM submission WHERE task_id = "{task_id}"')