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

Method get_fields

fastapi_admin/resources.py:252–276  ·  view source on GitHub ↗
(cls, is_display: bool = True)

Source from the content-addressed store, hash-verified

250
251 @classmethod
252 def get_fields(cls, is_display: bool = True):
253 ret = []
254 pk_column = cls.model._meta.db_pk_column
255 for field in cls.fields or cls.model._meta.fields:
256 if isinstance(field, str):
257 if field == pk_column:
258 continue
259 field = cls._get_display_input_field(field)
260 if isinstance(field, ComputeField) and not is_display:
261 continue
262 elif isinstance(field, Field):
263 if field.name == pk_column:
264 continue
265 if (is_display and isinstance(field.display, displays.InputOnly)) or (
266 not is_display and isinstance(field.input, inputs.DisplayOnly)
267 ):
268 continue
269 if (
270 field.name in cls.model._meta.fetch_fields
271 and field.name not in cls.model._meta.fk_fields | cls.model._meta.m2m_fields
272 ):
273 continue
274 ret.append(field)
275 ret.insert(0, cls._get_display_input_field(pk_column))
276 return ret
277
278 @classmethod
279 def get_fields_label(cls, display: bool = True):

Callers 4

get_inputsMethod · 0.80
resolve_dataMethod · 0.80
_get_fields_attrMethod · 0.80
list_viewFunction · 0.80

Calls 1

Tested by

no test coverage detected