Нет , это не встроенная функция. Если вы определяете отношение из вашей модели (например, от Profile
до User
), Django автоматически создает обратную связь. Вы можете указать имя этого отношения с атрибутом related_name
.
Таким образом, вы можете указать имя по-другому, изменив related_name
[Django-doc] отношения, например:
from django.db import models
from django.contrib.auth import get_user_model
class Profile(models.Model):
user = models.OneToOneField(
get_user_model(),
on_delete=models.CASCADE,
<b>related_name='other_attribute'</b>
)
В этом случае имя профиля:
from django.contrib.auth import get_user_model
@receiver(post_save, sender=get_user_model())
def save_profile(sender, instance, *args,**kwargs):
instance.<b>other_attribute</b>.save()
По умолчанию значение related_name
является именем класса, но в в нижнем регистре и с подчеркиванием (_
) в качестве разделителя слов.
Это соответствует PEP-8 , где атрибуты класса записываются в нижнем регистре и с подчеркиванием в качестве разделителя слов.