[models] move Models into their own module
This commit is contained in:
parent
221062ead5
commit
59d668ba9c
3 changed files with 59 additions and 3 deletions
38
src/teilchensammler_cli/models.py
Normal file
38
src/teilchensammler_cli/models.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
from typing import final
|
||||
|
||||
from tortoise import Model, fields
|
||||
|
||||
|
||||
@final
|
||||
class Teilchen(Model):
|
||||
name = fields.TextField()
|
||||
description = fields.TextField()
|
||||
number = fields.IntField() # validate values >= 0
|
||||
|
||||
created_at = fields.DatetimeField(auto_now_add=True)
|
||||
modified_at = fields.DatetimeField(auto_now=True)
|
||||
|
||||
tags = fields.ManyToManyField(
|
||||
"models.Tag",
|
||||
through="models.TeilchenTag",
|
||||
related_name="teilchen",
|
||||
forward_key="tag_id",
|
||||
backward_key="teilchen_id",
|
||||
)
|
||||
|
||||
|
||||
@final
|
||||
class Tag(Model):
|
||||
name = fields.CharField(max_length=20)
|
||||
|
||||
created_at = fields.DatetimeField(auto_now_add=True)
|
||||
modified_at = fields.DatetimeField(auto_now=True)
|
||||
|
||||
|
||||
@final
|
||||
class TeilchenTag(Model):
|
||||
teilchen: fields.ForeignKeyRelation[Teilchen] = fields.ForeignKeyField(
|
||||
"models.Teilchen"
|
||||
)
|
||||
tag: fields.ForeignKeyRelation[Tag] = fields.ForeignKeyField("models.Tag")
|
||||
weight = fields.IntField()
|
||||
Loading…
Add table
Add a link
Reference in a new issue