36 lines
1,004 B
Python
36 lines
1,004 B
Python
import tortoise
|
|
from tortoise import fields
|
|
|
|
|
|
class Poll(tortoise.Model):
|
|
id = fields.BigIntField(pk=True)
|
|
channel_id = fields.BigIntField()
|
|
message_id = fields.BigIntField()
|
|
author_id = fields.BigIntField()
|
|
|
|
content = fields.JSONField()
|
|
is_anonymous = fields.BooleanField()
|
|
|
|
available_choices = fields.IntField()
|
|
|
|
# noinspection PyUnresolvedReferences
|
|
choices: fields.ManyToManyRelation["Response"] = fields.ManyToManyField( # type: ignore
|
|
"models.Response", related_name="choices"
|
|
)
|
|
|
|
class Meta:
|
|
table = "polls"
|
|
|
|
def __str__(self):
|
|
return (
|
|
f"<Poll id={self.id} "
|
|
f"channel_id={self.channel_id} "
|
|
f"message_id={self.message_id} "
|
|
f"author_id={self.author_id} "
|
|
f"content={self.content} "
|
|
f"is_anonymous={self.is_anonymous} "
|
|
f"available_choices={self.available_choices} "
|
|
f"choices={self.choices}>"
|
|
)
|
|
|
|
__repr__ = __str__
|