#[derive(Serializer)]
{
// Attributes available to this derive:
#[serializer]
}
Expand description
Derive rustango::serializer::ModelSerializer for a struct.
(intra-doc link disabled — the macro crate doesn’t depend on
rustango itself, so rustdoc can’t resolve the path.)
§Container attribute (required)
#[serializer(model = TypeName)] — the Model type this serializer maps from.
§Field attributes
#[serializer(read_only)]— mapped from model; included in JSON output; excluded fromwritable_fields()#[serializer(write_only)]—Default::default()infrom_model; excluded from JSON output; included inwritable_fields()#[serializer(source = "field_name")]— reads frommodel.field_nameinstead ofmodel.<field_ident>#[serializer(skip)]—Default::default()infrom_model; included in JSON output; excluded fromwritable_fields()(user sets manually)#[serializer(method = "fn_name")]— DRFSerializerMethodField: callsSelf::fn_name(&model)for the field value; excluded fromwritable_fields()#[serializer(nested)]/nested(strict)— auto-resolves nested serializer from a loadedForeignKey; excluded fromwritable_fields()#[serializer(many = ChildSerializer)]— collection of nested serializers; populated via macro-emittedset_<field>(&[Child::Model]); excluded fromwritable_fields()#[serializer(slug = "name")]— DRFSlugRelatedField: clonesmodel.<source>.value()?.name; excluded fromwritable_fields()(v0.44)#[serializer(validate = "fn_name")]— per-field validator surfaced bySelf::validate(&self)
The macro also emits a custom impl serde::Serialize — do not also #[derive(Serialize)].