Python django.db.models.FieldDoesNotExist() Examples
The following are 30
code examples of django.db.models.FieldDoesNotExist().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.db.models
, or try the search function
.
Example #1
Source File: controlcenter_tags.py From django-controlcenter with BSD 3-Clause "New" or "Revised" License | 6 votes |
def attrlabel(widget, attrname): widget_prop = _method_label(widget, attrname) if widget_prop is not None: return widget_prop elif widget.model: model_prop = _method_label(widget.model, attrname) if model_prop is not None: # Allows to have empty description return model_prop if attrname == 'pk': fieldname = widget.model._meta.pk.name else: fieldname = attrname try: field = widget.model._meta.get_field(fieldname) return field.verbose_name except models.FieldDoesNotExist: pass return attrname
Example #2
Source File: aggregation.py From myblog with GNU Affero General Public License v3.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #3
Source File: list.py From myblog with GNU Affero General Public License v3.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #4
Source File: aggregation.py From weibo-analysis-system with MIT License | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #5
Source File: list.py From CTF_AWD_Platform with MIT License | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #6
Source File: list.py From weibo-analysis-system with MIT License | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #7
Source File: aggregation.py From StormOnline with Apache License 2.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #8
Source File: aggregation.py From CTF_AWD_Platform with MIT License | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #9
Source File: list.py From django_OA with GNU General Public License v3.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #10
Source File: aggregation.py From django_OA with GNU General Public License v3.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #11
Source File: list.py From Mxonline3 with Apache License 2.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #12
Source File: aggregation.py From Mxonline3 with Apache License 2.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #13
Source File: list.py From imoocc with GNU General Public License v2.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #14
Source File: list.py From StormOnline with Apache License 2.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #15
Source File: aggregation.py From ImitationTmall_Django with GNU General Public License v3.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #16
Source File: list.py From ImitationTmall_Django with GNU General Public License v3.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #17
Source File: aggregation.py From Dailyfresh-B2C with Apache License 2.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #18
Source File: list.py From Dailyfresh-B2C with Apache License 2.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #19
Source File: aggregation.py From online with GNU Affero General Public License v3.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #20
Source File: list.py From online with GNU Affero General Public License v3.0 | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #21
Source File: aggregation.py From devops with MIT License | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #22
Source File: list.py From devops with MIT License | 6 votes |
def get_ordering_field(self, field_name): """ Returns the proper model field name corresponding to the given field_name to use for ordering. field_name may either be the name of a proper model field or the name of a method (on the admin or model) or a callable with the 'admin_order_field' attribute. Returns None if no proper model field name can be matched. """ try: field = self.opts.get_field(field_name) return field.name except models.FieldDoesNotExist: # See whether field_name is a name of a non-field # that allows sorting. if callable(field_name): attr = field_name elif hasattr(self, field_name): attr = getattr(self, field_name) else: attr = getattr(self.model, field_name) return getattr(attr, 'admin_order_field', None)
Example #23
Source File: aggregation.py From imoocc with GNU General Public License v2.0 | 6 votes |
def _get_field_aggregate(self, field_name, obj, row): item = ResultItem(field_name, row) item.classes = ['aggregate', ] if field_name not in self.aggregate_fields: item.text = "" else: try: f = self.opts.get_field(field_name) agg_method = self.aggregate_fields[field_name] key = '%s__%s' % (field_name, agg_method) if key not in obj: item.text = "" else: item.text = display_for_field(obj[key], f) item.wraps.append('%%s<span class="aggregate_title label label-info">%s</span>' % AGGREGATE_TITLE[agg_method]) item.classes.append(agg_method) except FieldDoesNotExist: item.text = "" return item
Example #24
Source File: wrappers.py From c3nav with Apache License 2.0 | 6 votes |
def __setattr__(self, name, value): """ We have to intercept here because RelatedFields won't accept wrapped model instances values, so we have to trick them. """ if name in self._not_wrapped: return super().__setattr__(name, value) try: field = self._obj._meta.get_field(name) except FieldDoesNotExist: pass else: if field.many_to_one and name != field.attname and value is not None: if isinstance(value, models.Model): value = self._wrap_instance(value) if not isinstance(value, ModelInstanceWrapper): raise ValueError('value has to be None or ModelInstanceWrapper') setattr(self._obj, name, value._obj) field.set_cached_value(self._obj, value) return super().__setattr__(name, value)
Example #25
Source File: base.py From prospector with GNU General Public License v3.0 | 5 votes |
def get_queryset(self, args): qs = (self.model.objects.filter(id__in=args) if args else self.model.objects.all()) try: self.model._meta.get_field('last_updated') qs = itertools.chain(qs.filter(last_updated=None), qs.order_by('last_updated')) except FieldDoesNotExist: pass return qs
Example #26
Source File: filter_backends.py From drf-flex-fields with MIT License | 5 votes |
def _get_field(field_name: str, model: models.Model) -> Optional[models.Field]: try: # noinspection PyProtectedMember return model._meta.get_field(field_name) except models.FieldDoesNotExist: return None
Example #27
Source File: list.py From Dailyfresh-B2C with Apache License 2.0 | 5 votes |
def get_list_queryset(self): """ Get model queryset. The query has been filted and ordered. """ # First, get queryset from base class. queryset = self.queryset() # Use select_related() if one of the list_display options is a field # with a relationship and the provided queryset doesn't already have # select_related defined. if not queryset.query.select_related: if self.list_select_related: queryset = queryset.select_related() elif self.list_select_related is None: related_fields = [] for field_name in self.list_display: try: field = self.opts.get_field(field_name) except models.FieldDoesNotExist: pass else: if isinstance(field.remote_field, models.ManyToOneRel): related_fields.append(field_name) if related_fields: queryset = queryset.select_related(*related_fields) else: pass # Then, set queryset ordering. queryset = queryset.order_by(*self.get_ordering()) # Return the queryset. return queryset # List ordering
Example #28
Source File: serializers.py From django-elasticsearch with MIT License | 5 votes |
def serialize_field(self, instance, field_name): method_name = 'serialize_{0}'.format(field_name) if hasattr(self, method_name): return getattr(self, method_name)(instance, field_name) try: field = self.model._meta.get_field(field_name) except FieldDoesNotExist: # Abstract field pass else: field_type_method_name = 'serialize_type_{0}'.format( field.__class__.__name__.lower()) if hasattr(self, field_type_method_name): return getattr(self, field_type_method_name)(instance, field_name) if field.rel: # M2M if isinstance(field, ManyToManyField): return [self.nested_serialize(r) for r in getattr(instance, field.name).all()] rel = getattr(instance, field.name) # FK, OtO if rel: # should be a model instance if self.cur_depth >= self.max_depth: return return self.nested_serialize(rel) try: return getattr(instance, field_name) except AttributeError: raise AttributeError("The serializer doesn't know how to serialize {0}, " "please provide it a {1} method." "".format(field_name, method_name))
Example #29
Source File: api.py From chain-api with MIT License | 5 votes |
def model_has_field(cls, field_name): try: cls.model._meta.get_field_by_name(field_name) return True except models.FieldDoesNotExist: return False
Example #30
Source File: list.py From weibo-analysis-system with MIT License | 5 votes |
def get_list_queryset(self): """ Get model queryset. The query has been filted and ordered. """ # First, get queryset from base class. queryset = self.queryset() # Use select_related() if one of the list_display options is a field # with a relationship and the provided queryset doesn't already have # select_related defined. if not queryset.query.select_related: if self.list_select_related: queryset = queryset.select_related() elif self.list_select_related is None: related_fields = [] for field_name in self.list_display: try: field = self.opts.get_field(field_name) except models.FieldDoesNotExist: pass else: if isinstance(field.remote_field, models.ManyToOneRel): related_fields.append(field_name) if related_fields: queryset = queryset.select_related(*related_fields) else: pass # Then, set queryset ordering. queryset = queryset.order_by(*self.get_ordering()) # Return the queryset. return queryset # List ordering