У меня проблемы с извлечением нескольких «pk» данных из запроса.
Не могу обдумать это, но я чувствую, что ответ должен быть легким и / или вопрос тупой (опционально:)).
На мой взгляд, у меня есть следующий метод:
def post(self, request, *args, **kwargs):
form = self.get_form()
if form.is_valid():
articles = Article.default.filter(id__in=self.request.POST["pk"])
article_titles = [article.title for article in articles]
message = article_titles
messages.add_message(request, messages.SUCCESS, message=message, fail_silently=True)
return self.form_valid(form)
else:
return self.form_invalid(form)
# what is defaul - default = models.Manager() ,that is equal to objects
Технически, он должен извлечь список ПК из данных постов, затем отфильтровать набор запросов и получить список статей, затем извлечь их заголовки и отправить их пользователю через систему обмена сообщениями. Довольно просто.
Список PK отправляется в данные POST с помощью ModelMultipleChoiceField в форме
Что я имею в данных POST:
csrfmiddlewaretoken '
[ 'DxrzPApYhtxh6ZCqszkvBkywbBTPIaXtpTZTjdJQEFCTqR0vSNXycAcJJnh3jnRC']
рк '
['34', '32', '25', '24', '22', '11']
'Отправить'
[ '']
и, что удивительно, на этих данных POST у меня следующий набор запросов:
SELECT ••• FROM "articles_article" WHERE "articles_article"."id" IN (1) ORDER BY "articles_article"."created_at" DESC
вопрос:
-Почему IN (1)?
- как получить список пакетов в данных POST для фильтра набора запросов?
когда у меня есть единственное число pk -it работает нормально. Проблема, когда у меня есть только несколько ПК