pub trait Model: Sized {
type ID: ?Sized;
Show 14 methods
// Required methods
fn to_string(&self) -> String;
fn list(db: &Database) -> Result<Vec<Self>>;
fn filter(db: &Database, filter: &Filter) -> Result<Vec<Self>>;
fn delete(db: &Database, filter: &Filter) -> Result<usize>;
fn delete_id(db: &Database, my_id: i32) -> Result<usize>;
fn id(&self) -> i32;
fn by_id(db: &Database, id: i32) -> Result<Self>;
fn get(db: &Database, query: &Self::ID) -> Result<Self>;
fn get_opt(db: &Database, query: &Self::ID) -> Result<Option<Self>>;
// Provided methods
fn filter_with_param(
_db: &Database,
_filter: &Filter,
_param: &str
) -> Result<Vec<Self>> { ... }
fn value(&self) -> &Self::ID { ... }
fn get_id(db: &Database, query: &Self::ID) -> Result<i32> { ... }
fn get_id_opt(db: &Database, query: &Self::ID) -> Result<Option<i32>> { ... }
fn blob(&self) -> Option<&str> { ... }
}