Add two overrides to the model: The operator and hashCode.
void main() {
Car c = Car(name: 'Audi', colour: 'Red');
Car d = Car(name: 'Mercedes', colour: 'Red');
print(c == d);
}
class Car {
String name;
String colour;
Car({required this.name, required this.colour});
@override
bool operator ==(Object other) {
return other is Car && name == other.name && colour == other.colour;
}
@override
int get hashCode => name.hashCode ^ colour.hashCode;
@override
toString() {
return('name: $name, colour: $colour');
}
}