Я пытаюсь связать модель Account
со стандартной моделью django auth.User
.
Мне кажется, что ForeignKey
на User
указывает на Account
, поэтому я могу использовать что-то вроде account.users
.
Как и так
class User(User):
account = ForeignKey(Account, related_name='users')
...
Однако, как мы все знаем, рекомендуемый способ добавления информации в модель User
- через UserProfile
.
Как и так
class UserProfile(models.Model):
account = ForeignKey(Account, related_name='profiles')
user = ForeignKey(User)
...
, что означает, что если я хочу получить список всех Users
в учетной записи Account
, мне нужно сделать что-то вроде
users = [p.user for p in account.profiles]
Хотя это только одна строка, я предполагаю, что каждый p.user
генерирует дополнительный удар по базе данных, который кажется крайне неэффективным по сравнению с тем, если бы модель User
была доступна непосредственно через модель Account
.
Есть ли более эффективный способ сделать это? Или я что-то упускаю здесь очевидное?