Сбор данных из формы на основе класса UpdateView django для использования в views.py - PullRequest
0 голосов
/ 13 июня 2018

У меня есть форма, основанная на "конфигурации" моей модели:

models.py

class configuration(models.Model):
    Num_ordre = models.CharField(max_length=15)
    Composant = models.CharField(max_length=15)
    Designation = models.CharField(max_length=15)
    Qte_servie = models.IntegerField()
    Qte_a_servir = models.IntegerField()
    Lot = models.CharField(max_length=15)
    Categorie  = models.CharField(max_length=15)
    Famille = models.CharField(max_length=15)

Из этой модели я создаю форму с функцией UpdateView: views.py

class ComposantUpdate(UpdateView):
    model = configuration
    fields = '__all__'
    template_name = 'accueil/exploitation/update_composant.html'
    success_url = reverse_lazy('cahier', args=('OFTSP1611000853',))`

Моя проблема в том, что success_url получает аргумент, который я ввел вручную: OFTSP1611000853, который соответствует конфигурации. Num_ordre для pk = 1.

Вместо 'OFTSP1611000853' я хочу поместить данныенаписано пользователем в соответствующем поле в форме.

Как я могу получить это значение?

1 Ответ

0 голосов
/ 13 июня 2018

Вы должны использовать get_success_url.И внутри, которые получают пользовательские данные, а затем возвращают их, как-то так:

def get_success_url(self, *args, **kwargs):         
    return reverse_lazy('cahier', kwargs={'pk': self.request.data.get('cahier_id')})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...