-2

如何在 TortoiseORM 中创建 ArrayField()

from common.base_model import AbstractBaseModel
from tortoise.fields import CharField, BooleanField, ForeignKeyField, ArrayField


class City(AbstractBaseModel): 
    name = CharField(max_length=100, unique=True) 
    district = CharField(max_length=100, null=True) 
    state = CharField(max_length=100) 
    country = ArrayField() # not working 
    is_verified = BooleanField(default=True) 
4

2 回答 2

1

TortoiseORM中没有ArrayField,这里有一篇关于TortoiseORM文档中字段的文章。

如您所见,TortoiseORM中没有匹配的字段,因此您必须扩展现有的字段类。
我建议扩展基本类Field,因为您的子类to_db_value方法必须返回与扩展字段类方法相同的类型to_db_value,并且在类中Field没有指定。


下一次,更加努力——阅读文档并提出更好的问题(添加更多信息,展示你的尝试)。

于 2021-04-14T13:09:59.897 回答
0

为了达到你想要的结果,我假设有一个字段来保存多个国家,你必须为你的country字段创建另一个表,并且在那个表和你的表之间有一个多对多的关系city,它更传统不会让您扩展现有字段类的实现。

于 2021-09-10T06:37:21.033 回答