| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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"
|