You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Realm定义含Command列表的UserDatabase模型时生成失败求助

错误原因及解决方法

错误原因

在Realm Dart中定义模型关联关系时,代码生成器仅识别被@RealmModel()注解的私有模型类(带下划线的_Command)为合法的Realm模型类型。你在_UserDatabase中使用生成后的公共类Command定义列表,生成器无法将其识别为有效Realm类型,因此抛出List<InvalidType>错误。

解决方法

把_UserDatabase里的List<Command>替换为List<_Command>,_Command是被@RealmModel()标记的合法模型类,生成器能正确识别并处理该关联列表。

修改后的_UserDatabase代码:

import 'package:realm/realm.dart';
import 'command.dart';
part 'user_database.realm.dart';

@RealmModel()
class _UserDatabase {
  @PrimaryKey()
  late ObjectId id;

  late String user_id;
  late List<_Command> commands; // 替换为私有模型类_Command
}

修改完成后重新运行dart run realm generate即可正常生成代码。

内容的提问来源于stack exchange,提问作者zivglb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 18:49:52