Попытка сохранить время ввода данных в базу данных mysql с помощью django

Я пытаюсь сохранить данные из HTML ввода в базу данных MySql, используя Django. Другие формы, которые я создал, работают. Я пришел к выводу, что это не работает из-за ввода времени. Я преобразовал его в тип datettime python, что должно заставить его работать, но он все равно не сохраняется. Проверьте, пожалуйста, мой код и посмотрите, что может быть причиной того, что он не сохраняется.

файлviews.py:

def employee_view(request):
    table = employeeModel.objects.all()
    context = {"table": table}
    if request.method == "POST":
        postCopy = request.POST.copy() # to make it mutable
        postCopy['barberStartTime'] = datetime.strptime('15/05/22 ' + postCopy['barberStartTime'], '%d/%m/%y %H:%M').time()
        postCopy['barberEndTime'] = datetime.strptime('15/05/22 ' + postCopy['barberEndTime'], '%d/%m/%y %H:%M').time()
        request.POST = postCopy
        form = employeeForm(request.POST or NONE)
        if form.is_valid():
            form.save()
        return render(request, 'accounts/employee.html', context)
    return render(request, 'accounts/employee.html', context)

python employeeModel:

class employeeModel(models.Model):
    barberName = models.CharField(max_length=50)
    barber_workplace = models.ForeignKey(workplacesModel, on_delete=models.CASCADE)
    barberStartTime = models.TimeField()
    barberEndTime = models.TimeField()
    class barbers:
        db_table = "home_employeemodel"

python employeeForm:

class employeeForm(forms.ModelForm):
    barberStartTime = forms.TimeField(widget=forms.TimeInput(format='%H:%M:%S'))
    barberEndTime = forms.TimeField(widget=forms.TimeInput(format='%H:%M:%S'))
    class Meta:
        model = employeeModel
        fields = ["barberName", "barber_workplace", "barberStartTime", "barberEndTime"]

html форма ввода: (она является частью таблицы - причина для тегов tr/td):

<tr>
    <form method="POST">{% csrf_token %}
        <td class="id-td" scope="row">---</td>
        <td class="barberName-td"><input type="text" name="barberName" placeholder="Meno"/></td>
        <td class="barberWorkplace-td"><input type="number" name="barberWorkplace" placeholder="Mesto"/></td>
        <td class="barberStartTime-td"><input type="time" name="barberStartTime"/></td>
        <td class="barberEndTime-td"><input type="time" name="barberEndTime"/></td>
        <td><button class="btn btn-secondary">Pridať</button></td>
    <form>
</tr>

Наконец-то я понял, где была ошибка. Проблема заключалась в неправильном названии входных данных для рабочего места парикмахера. Он был назван barberWorkplace, тогда как должен был быть назван barber_workplace.

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