关联关系修改

This commit is contained in:
2022-04-22 16:03:05 +08:00
parent f08edd0af5
commit b80df83069
4 changed files with 26 additions and 19 deletions

View File

@ -2,8 +2,9 @@ import os
from typing import TYPE_CHECKING
from . import db
if TYPE_CHECKING:
from .Workflow import Workflow
from .VideoClip import VideoClip
class DanmakuClip(db.Model):
@ -11,8 +12,8 @@ class DanmakuClip(db.Model):
base_path = db.Column(db.String(255))
file = db.Column(db.String(255))
offset = db.Column(db.Float, nullable=False, default=0)
workflow_id = db.Column(db.Integer, db.ForeignKey('workflow.id'))
workflow: "Workflow" = db.relationship("Workflow", uselist=False, backref=db.backref("danmaku_clips"))
video_clip_id = db.Column(db.Integer, db.ForeignKey('video_clip.id'))
video_clip: "VideoClip" = db.relationship("VideoClip", uselist=False, backref=db.backref("danmaku_clips"))
@property
def full_path(self):

View File

@ -2,11 +2,15 @@ import os.path
from typing import TYPE_CHECKING
from . import db
if TYPE_CHECKING:
from .Workflow import Workflow
from .DanmakuClip import DanmakuClip
class VideoClip(db.Model):
danmaku_clips: list["DanmakuClip"]
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
base_path = db.Column(db.String(255))
file = db.Column(db.String(255))
@ -30,4 +34,5 @@ class VideoClip(db.Model):
"duration": self.duration,
"offset": self.offset,
"workflow_id": self.workflow_id,
"danmaku_clips": [i.to_json() for i in self.danmaku_clips],
}

View File

@ -2,15 +2,14 @@ from datetime import datetime, timedelta
from typing import TYPE_CHECKING
from . import db
if TYPE_CHECKING:
from .VideoClip import VideoClip
from .VideoPart import VideoPart
from .DanmakuClip import DanmakuClip
class Workflow(db.Model):
video_clips: list["VideoClip"]
danmaku_clips: list["DanmakuClip"]
video_parts: list["VideoPart"]
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
@ -42,5 +41,4 @@ class Workflow(db.Model):
"editing": self.editing,
"start_after_time": self.start_after_time.strftime("%Y/%m/%d %H:%M:%S") if self.start_after_time else None,
"video_clips": [i.to_json() for i in self.video_clips],
"danmaku_clips": [i.to_json() for i in self.danmaku_clips],
}