Каков метод django для получения экземпляра в OneToOneField, доступ к которому осуществляется из ManyToManyRelatedManage ⇐ Python
Каков метод django для получения экземпляра в OneToOneField, доступ к которому осуществляется из ManyToManyRelatedManage
Мне было интересно, какой наиболее правильный в Django способ получения экземпляра в OneToOneField, когда доступ к экземпляру, из которого я извлекаю, осуществляется через ManyToManyRelatedManager?< /п> В частности, у меня есть модель CustomGroup, которая имеет OneToOneField для auth.Group. Затем я хочу получить каждый экземпляр CustomGroup из пользовательского экземпляра через менеджер groups.
Это мои модели:
из django.contrib.auth.models import AbstractUser, Group из моделей импорта django.db класс CustomGroup(models.Model): группа = модели.OneToOneField(Group, on_delete=models.CASCADE, linked_name="custom_group") класс CustomUser(AbstractUser): # мои дополнительные поля Мне хотелось бы иметь метод get_custom_groups для модели CustomUser, который возвращает RelatedManager с базовым набором запросов в качестве всего CustomGroup, с которой связан этот пользователь (очень похоже на user.groups, но только с CustomGroup в качестве модели).
Обычно я делал примерно следующее:
def get_custom_groups(self): custom_group_ids = self.groups.all().values_list("custom_group", Flat=True) return CustromGroup.objects.filter(id__in=custom_group_ids) Это лучший способ сделать это или есть другой, более разумный способ?
Мне было интересно, какой наиболее правильный в Django способ получения экземпляра в OneToOneField, когда доступ к экземпляру, из которого я извлекаю, осуществляется через ManyToManyRelatedManager?< /п> В частности, у меня есть модель CustomGroup, которая имеет OneToOneField для auth.Group. Затем я хочу получить каждый экземпляр CustomGroup из пользовательского экземпляра через менеджер groups.
Это мои модели:
из django.contrib.auth.models import AbstractUser, Group из моделей импорта django.db класс CustomGroup(models.Model): группа = модели.OneToOneField(Group, on_delete=models.CASCADE, linked_name="custom_group") класс CustomUser(AbstractUser): # мои дополнительные поля Мне хотелось бы иметь метод get_custom_groups для модели CustomUser, который возвращает RelatedManager с базовым набором запросов в качестве всего CustomGroup, с которой связан этот пользователь (очень похоже на user.groups, но только с CustomGroup в качестве модели).
Обычно я делал примерно следующее:
def get_custom_groups(self): custom_group_ids = self.groups.all().values_list("custom_group", Flat=True) return CustromGroup.objects.filter(id__in=custom_group_ids) Это лучший способ сделать это или есть другой, более разумный способ?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу заполнить связанные модели отдельно через формы (Onetoonefield)?
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-