pub struct ResolvedRelation {
pub source_model: String,
pub source_field: String,
pub target_model: String,
pub target_table: String,
pub target_admin_name: String,
pub target_display_field: Option<String>,
pub kind: RelationKind,
}Expand description
One forward (BelongsTo) relation resolved against the schema.
Carries enough information for the admin to:
- render the FK column (
target_model,target_table,target_display_field); - link to the target’s detail page (
target_admin_name); - issue the batched prefetch query for list pages.
Everything is owned String rather than &'static str because
the registry is built from a parsed Schema whose String
fields outlive the registry. Copying costs once at schema-reload
time and buys simple lifetimes everywhere else.
Fields§
§source_model: StringModel name holding the FK column, e.g. "Appointment".
source_field: StringField on the source carrying the id, e.g. "patient_id".
target_model: StringTarget model name, e.g. "Patient".
target_table: StringTarget model’s SQL table, e.g. "patients".
target_admin_name: StringTarget model’s admin slug, e.g. "patients" — what appears
in /admin/<slug>/<id> URLs.
target_display_field: Option<String>Column on the target whose value is rendered as the human
label. None means the admin renders #<id> and does NOT
infer a column — display-field guessing is explicitly off.
kind: RelationKindDirection marker. Always BelongsTo for forward relations.
Trait Implementations§
Source§impl Clone for ResolvedRelation
impl Clone for ResolvedRelation
Source§fn clone(&self) -> ResolvedRelation
fn clone(&self) -> ResolvedRelation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResolvedRelation
impl Debug for ResolvedRelation
Source§impl PartialEq for ResolvedRelation
impl PartialEq for ResolvedRelation
impl Eq for ResolvedRelation
impl StructuralPartialEq for ResolvedRelation
Auto Trait Implementations§
impl Freeze for ResolvedRelation
impl RefUnwindSafe for ResolvedRelation
impl Send for ResolvedRelation
impl Sync for ResolvedRelation
impl Unpin for ResolvedRelation
impl UnsafeUnpin for ResolvedRelation
impl UnwindSafe for ResolvedRelation
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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