(cls, is_display: bool = True)
| 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): |
no test coverage detected