Как получить данные из представления django и сравнить их с данными из шаблона django, чтобы сохранить их? [закрыто]

Я новичок в программировании, и я разрабатываю приложение, которое должно позволить мне регистрировать движения входа и выхода в кассовом аппарате. Я пытаюсь получить данные в форме и сохранить их в базе данных.

Вот код, который позволяет мне получить данные из формы:

if request.method == 'POST':
        date = request.POST.get("date")
        libelle = request.POST.get("libelle")
        operation = request.POST.get("operationListe")
        piece_justificative = request.POST.get("piece_justificative")
        client_Fournisseur = request.POST.get("client_Fournisseur")
        mouvement_Encaiss = request.POST.get("mouvement_Encaiss")
        mouvement_Decaiss = request.POST.get("mouvement_Decaiss")
  • За исключением переменной operation, в models.py она имеет ForeignKey к OperationType, потому что я хотел бы видеть выбор между различными типами доступных операций:
class Caisse(models.Model):
    numero_ordre = models.IntegerField(editable=False, verbose_name='Numéro d\'ordre', null=True)
    libelle = models.CharField(max_length=255, verbose_name='Libellé', null=False)
    date = models.DateField(verbose_name='Date', null=False)
    operation = models.ForeignKey(OperationType, on_delete=models.CASCADE, null=False, blank=False, verbose_name='operation')  # type: ignore
    piece_justificative = models.CharField(max_length=255, verbose_name='Pièce justificative', blank=True, null=True)
    client = models.CharField(max_length=255, verbose_name='Client', blank=True, null=True)
    fournisseur = models.CharField(max_length=255, verbose_name='Fournisseur', blank=True, null=True)
    encaissement = models.IntegerField(verbose_name='Mouvement des encaissements', blank=True, null=True)
    decaissement = models.IntegerField(verbose_name='Mouvement des décaissement', blank=True, null=True)
    report_solde = models.IntegerField(verbose_name='Solde du début du mois', blank=True, null=True)

class OperationType(models.Model):
    list_of = models.CharField(max_length=255)
  • Когда я беру данные непосредственно из формы, Django говорит мне, что данные, хранящиеся в операции, поступающей из формы, должны быть типа OperationType : ValueError
  • .
  • Поэтому я попробовал следующее:
caisse = Caisse.objects.create(
            date = date,
            libelle = libelle,
            operation = OperationType.objects.get(operation),
            piece_justificative = piece_justificative,
            client_Fournisseur = client_Fournisseur,
            mouvement_Encaiss = mouvement_Encaiss,
            mouvement_Decaiss = mouvement_Decaiss,
        )
  • Но я попадаю в другой тупик: ValueError
  • .

Буду очень благодарен за любую идею, которая поможет мне выйти из этого тупика. Спасибо !

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