如何在 TortoiseORM 中创建 ArrayField

问题描述

如何在 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) 

解决方法

TortoiseORM 中没有 let fetch = async () => { const querySnapshot = await firestore() .collection("Teams") .where("uid","==",await AsyncStorage.getItem("userID")) .get(); if (querySnapshot.empty) { console.log("no documents found"); return; } for( let doc of querySnapshot.docs){ let Teams = doc._data; console.log(Teams); updateActivity((arr) => [...arr,Teams]); console.log(Activity); let querySnapshot2 = await doc.ref .collection("membersList") .where("statut","en attente") .get(); if (querySnapshot2.empty) { console.log("no documents found"); continue; } for(let doc2 of querySnapshot2.docs){ let members = doc2._data; console.log("aa",members); updateMembersList( arr => [...arr,members]); console.log("cc",MembersList); } } } ,这里有一个关于 TortoiseORM 中字段的 How to Sort Multi-dimensional Array by Value? 来自其文档。

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


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