Skip to content

Relationship repeater

Repeater aimed at related records — same nested schema, relationship-shaped intent.

from almasix.orbit.forms import Form, RelationshipRepeater, TextInput, Textarea, Select
form = Form.make("demo").schema([
RelationshipRepeater.make("comments").schema([
TextInput.make("author").required(),
Textarea.make("body").rows(3),
])
])
from almasix.orbit import Resource
from almasix.orbit.forms import Form, RelationshipRepeater, TextInput, Textarea, Select
class PostResource(Resource):
@classmethod
def form(cls, form: Form) -> Form:
return form.schema([
RelationshipRepeater.make("items").schema([
TextInput.make("sku").required(),
TextInput.make("qty").integer().required(),
]),
])
  • .schema([...])
  • .relationship(...) available via Field base when you wire titles
  • CSS: or-field-RelationshipRepeater``
  • .label(...) / .visible(...)

Closures work on .label(), .helper_text(), .placeholder(), .visible(), .disabled(), and .required() — see Form closures.

Orbit form example (light)

Orbit form example (dark)