问题描述
如何在 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
中它不是指定。
下次,再努力一点 - 阅读文档并提出更好的问题(添加更多信息,展示您的尝试)。