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

Flutter生成Realm模型报错:List<dynamic> is not a realm model type

解决Realm模型生成时的List类型错误

问题原因

你在_DrillSession里用了普通的List<Point>作为字段类型,但Realm不支持将原生List作为模型的集合字段,必须使用Realm提供的RealmList类型来定义集合属性。

修复步骤

  1. 修改drillSession.dart中的bulletCenters字段类型,把List替换为RealmList:
import 'package:realm/realm.dart';

import 'point.dart';

part 'drillSession.g.dart';

@RealmModel()
class _DrillSession {
  @MapTo('_id')
  @PrimaryKey()
  late ObjectId id;
  // 替换List为RealmList
  late RealmList<Point> bulletCenters;
  late DateTime createdDate;
  @MapTo('owner_id')
  late String ownerId;
}
  1. 重新执行Realm代码生成命令:
flutter pub run realm generate

为什么这样修复?

Realm需要通过自己的RealmList类型来管理集合数据的持久化、关联查询和变更追踪,原生List无法满足Realm的内部数据管理需求。你的Point类已经正确标记为Realm模型,只要把集合类型换成RealmList就能正常生成代码了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 09:05:34