Django: изменение TextField перед сохранением

Это моя модель :

class Card(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    imp_id = models.TextField(null = True)

А вот мое мнение :

def Add(request):
if request.method == 'POST':
    form = Add_card(request.POST)

    if form.is_valid():
        save = form.save(commit = False)
        save.user = request.user
        save.imp_id = "asd" # I tried to change it here but I failed
        save.save()
else:
    form = Add_card()

cards = Card.objects.all()
return render(request, 'addcard.html', {'form': form, 'cards' : cards})

Как я могу изменить это текстовое поле перед сохранением?

можно сделать так

def Add(request):
    if request.method == 'POST':
        request.POST.imp_id="asd"
        form = Add_card(request.POST)

        if form.is_valid():
            save = form.save(commit = False)
            save.user = request.user
            save.save()
    else:
        form = Add_card()

    cards = Card.objects.all()
    return render(request, 'addcard.html', {'form': form, 'cards' : cards})

Проблему можно решить, используя default='asd'.

Вернуться на верх