MCPcopy
hub / github.com/django/django / contribute_to_class

Method contribute_to_class

django/db/models/fields/related.py:376–407  ·  view source on GitHub ↗
(self, cls, name, private_only=False, **kwargs)

Source from the content-addressed store, hash-verified

374 return None
375
376 def contribute_to_class(self, cls, name, private_only=False, **kwargs):
377 super().contribute_to_class(cls, name, private_only=private_only, **kwargs)
378
379 self.opts = cls._meta
380
381 if not cls._meta.abstract:
382 if self.remote_field.related_name:
383 related_name = self.remote_field.related_name
384 else:
385 related_name = self.opts.default_related_name
386 if related_name:
387 related_name %= {
388 "class": cls.__name__.lower(),
389 "model_name": cls._meta.model_name.lower(),
390 "app_label": cls._meta.app_label.lower(),
391 }
392 self.remote_field.related_name = related_name
393
394 if self.remote_field.related_query_name:
395 related_query_name = self.remote_field.related_query_name % {
396 "class": cls.__name__.lower(),
397 "app_label": cls._meta.app_label.lower(),
398 }
399 self.remote_field.related_query_name = related_query_name
400
401 def resolve_related_class(model, related, field):
402 field.remote_field.model = related
403 field.do_related_class(related, model)
404
405 lazy_related_operation(
406 resolve_related_class, cls, self.remote_field.model, field=self
407 )
408
409 def deconstruct(self):
410 name, path, args, kwargs = super().deconstruct()

Callers 2

contribute_to_classMethod · 0.45
contribute_to_classMethod · 0.45

Calls 1

lazy_related_operationFunction · 0.85

Tested by

no test coverage detected