pub struct AdminRelation {
pub kind: RelationKind,
pub model: &'static str,
pub display_field: Option<&'static str>,
}Expand description
Compile-time mirror of crate::schema::Relation. Uses &'static str so the whole thing is const-constructible by the
#[derive(RustioAdmin)] macro and can live inside the
AdminField-typed const FIELDS slice without a runtime allocation.
Converted into the owned-string crate::schema::Relation by
crate::schema::SchemaField::from_admin_field so every downstream
consumer (schema export, AI layer, relation registry) reads the same
declarative shape.
Fields§
§kind: RelationKindRelationKind::BelongsTo is the only variant emitted by the
macro today. HasMany is computed inversely at runtime by
crate::schema::Schema::incoming_relations and the registry.
model: &'static strTarget model’s singular_name — e.g. "Patient", matching the
type name the user wrote in #[rustio(belongs_to = "Patient")].
display_field: Option<&'static str>Optional column name on the target whose value should be shown
in place of the raw FK ID. None ⇒ the admin renders #<id>.
Never inferred — opt-in only.
Trait Implementations§
Source§impl Clone for AdminRelation
impl Clone for AdminRelation
Source§fn clone(&self) -> AdminRelation
fn clone(&self) -> AdminRelation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AdminRelation
impl Debug for AdminRelation
impl Copy for AdminRelation
Auto Trait Implementations§
impl Freeze for AdminRelation
impl RefUnwindSafe for AdminRelation
impl Send for AdminRelation
impl Sync for AdminRelation
impl Unpin for AdminRelation
impl UnsafeUnpin for AdminRelation
impl UnwindSafe for AdminRelation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more