#python #django
Вопрос:
Я хочу иметь форму с полями, которые фильтруются на основе поля имени модели группы Django. Например, у меня есть модель, которая подключена к пользовательской модели Django, которая подключена к модели Django group примерно так:
class customUser(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
def __str__(self):
return self.user.first_name
Я добавил ряд данных в группу Django с помощью административной панели Django под названием «Учитель».
Я пытаюсь сделать так, чтобы в моем списке форм был только пользователь, указанный как «Учитель» в групповой модели Django.
Моя форма:
class myForm(ModelForm):
class Meta:
model = customUser
fields = ['user ']
def __init__(self,*args,**kwargs):
super (myForm,self ).__init__(*args,**kwargs)
**# What I want to achieve but doesnt work.**
self.fields['user'].queryset = customUser.objects.filter(user.group.name = "Teacher")
Мы будем очень признательны за любую помощь.
Ответ №1:
Попробуй:
customUser.objects.filter(user__groups__name='Teacher')
Проверьте документацию по справочнику поиска
Комментарии:
1. @adqwqx. Было ли у вас достаточно времени, чтобы протестировать решение? Это то, чего ты ожидаешь?
2. @adqwqx. Не забудьте принять ответ, если это соответствует вашим потребностям. Это важно для пользователей, у которых есть аналогичная проблема, и для пользователей, которые отвечают на вопросы. Как работает принятие ответа?