Django ORM фильтр по единственному имени поля
Можно ли отфильтровать модель по некоторой дополнительной/сингулярной версии имени поля?
Например, используя модель типа (где authors
- это CharField
, которая содержит python-список, например ['Johnny']
):
class Movie(models.Model):
title = models.CharField(max_length=100, null=False, blank=False)
actors = models.CharField(max_length=250, null=True, blank=True)
И запрос что-то вроде Movie.objects.filter(input)
, где входные данные <QueryDict: {'actor': ["['Johnny']", "['Pablo']"]}>
У кого-нибудь есть идеи, как это решить?
Заранее спасибо.
После того, как вы создали модели, вам нужно сохранить актеров как строку, например Johnny, Pablo
. Таким образом, вы сможете делать запросы типа Movie.objects.all().filter(actors='Johnny, Pablo')
.
Обычно это должно было быть сделано с помощью модели отношений "многие-к-одному", позволяющей запрашивать конкретные объекты, позволяющей запрашивать несколько акторов или один нативно.