from tortoise.models import Model from tortoise import fields class Studio(Model): name = fields.CharField(max_length=32, verbose_name="制片公司名称") contact_email = fields.CharField( max_length=32, source_field="email", verbose_name="联系邮箱", ) class Meta: # 沿用已有数据库表,场景改名不会删除原来的数据。 table = "publish" class Actor(Model): name = fields.CharField(max_length=32, verbose_name="演员") age = fields.IntField(verbose_name="年龄") class Meta: table = "author" class Movie(Model): name = fields.CharField( max_length=32, source_field="title", verbose_name="电影名称", ) budget = fields.IntField(source_field="price", verbose_name="制作预算") poster_url = fields.CharField( max_length=255, null=True, source_field="img_url", verbose_name="海报地址", ) views = fields.IntField(source_field="bread", verbose_name="播放量") comments = fields.IntField(source_field="bcomment", verbose_name="评论量") studio = fields.ForeignKeyField( "models.Studio", related_name="movies", source_field="publishs_id", ) actors = fields.ManyToManyField( "models.Actor", related_name="movies", through="book_author", forward_key="author_id", backward_key="book_id", description="参演演员", ) class Meta: table = "book"