У меня есть класс под названием Toy, в котором игрушками являются либо животные, либо фрукты.Django Querying By Set Relationship (Reverse)
Некоторые примеры из моей базы данных,
|name|type|pk|
|Jerry|Cat|33|
|Scoobie|Dog|52|
|Leslie|Dog|73|
|Helen|Strawbery|86|
|Mark|Banana|16|
Когда пользователь выбирает «Animals», он должен вывести Джерри, Scoobie, Лесли, если он выбирает «Фрукты» он должен выводить Хелен, Марк.
мне нужно что-то вроде ниже
myDict={'Animal':'Cat' or 'Dog', 'Fruits':'Strawberry' or 'Banana'}
Toy.objects.filter(type = myDict[input])
или
myDict={'Animal':['Cat' ,'Dog'], 'Fruits':['Strawberry' , 'Banana']}
Toy.objects.filter(type in myDict[input])
, конечно, они не работают, какие-либо идеи, как я могу поступить?
ok 'type__in' решён, спасибо. Но мне все же нужен словарь, во всяком случае, неважно. Я приму этот ответ. –
Я должен использовать 15 символов: Почему? С небольшой информацией, которую вы предоставили, и структурой базы данных, которую вы показали, вы мало используете для «Животных». Не могли бы вы разместить свою модель, пожалуйста? Это поможет мне помочь. –
ну, вы говорите: 'if (input = animal) Toy.objects.filter (type__in = [" Dog "," Cat "]), else Toy.objects.filter (type__in = [" Strawberry "," Banana "]) '. Это тоже работает, но есть ли какие-то преимущества, чем использование словаря и пропущение if-else? –