MCPcopy
hub / github.com/fastapi-admin/fastapi-admin / create

Function create

fastapi_admin/routes/resources.py:200–236  ·  view source on GitHub ↗
(
    request: Request,
    resource: str = Path(...),
    resources=Depends(get_resources),
    model_resource: ModelResource = Depends(get_model_resource),
    model=Depends(get_model),
)

Source from the content-addressed store, hash-verified

198
199@router.post("/{resource}/create")
200async def create(
201 request: Request,
202 resource: str = Path(...),
203 resources=Depends(get_resources),
204 model_resource: ModelResource = Depends(get_model_resource),
205 model=Depends(get_model),
206):
207 inputs = await model_resource.get_inputs(request)
208 form = await request.form()
209 data, m2m_data = await model_resource.resolve_data(request, form)
210 async with in_transaction() as conn:
211 obj = await model.create(**data, using_db=conn)
212 for k, items in m2m_data.items():
213 m2m_obj = getattr(obj, k) # type:ManyToManyRelation
214 await m2m_obj.add(*items, using_db=conn)
215 if "save" in form.keys():
216 return redirect(request, "list_view", resource=resource)
217 context = {
218 "request": request,
219 "resources": resources,
220 "resource_label": model_resource.label,
221 "resource": resource,
222 "inputs": inputs,
223 "model_resource": model_resource,
224 "page_title": model_resource.page_title,
225 "page_pre_title": model_resource.page_pre_title,
226 }
227 try:
228 return templates.TemplateResponse(
229 f"{resource}/create.html",
230 context=context,
231 )
232 except TemplateNotFound:
233 return templates.TemplateResponse(
234 "create.html",
235 context=context,
236 )
237
238
239@router.delete("/{resource}/delete/{pk}")

Callers

nothing calls this directly

Calls 3

redirectFunction · 0.90
get_inputsMethod · 0.80
resolve_dataMethod · 0.80

Tested by

no test coverage detected