Фильтр запроса Django по другому набору данных
У меня есть 2 модели пользователя:
Account: Custom User model, which is an extension of the defualt user model, as I wanted to add a custom field to it called 'Status'.
Проблема в том, что я хотел отфильтровать данные на основе текущего пользователя, поэтому обычно я делаю что-то вроде:
Account.objects.filter(usernmae = User).values_list('status', flat=True)
Проблема в том, что в наборе данных Account нет имени пользователя, но они оба имеют одинаковый ID.
Я думал сделать что-то вроде этого:
Status = Account.objects.filter(user_id=User.objects.filter(username = user).values_list('id', flat=True)).values_list('status', flat=True)
Но затем я получаю следующую ошибку:
Я представляю, что есть лучший способ сделать это, если вы можете мне помочь.
Основываясь на моем опыте, вы можете просто соединить две таблицы и получить то, что вы хотите. примерно это выглядит так:
result = Account.objects.filter(user__username = user).values_list('status', flat=True)
или вы можете сделать два запроса, если вам это удобно.
found_user_id = User.objects.filter(username = user).values_list('id', flat = True)
result = Account.objects.filter(user_id = found_user_id).values_list('status', flat=True)
надеюсь, это помогло.