Задать вопрос
  • Как побороть ошибку (1364, "Field doesn't have a default value")?

    Beerenfeld
    @Beerenfeld Автор вопроса
    Everything_is_bad, order_item_id - это поле id таблицы OrderItem, описано в миграциях.
    migrations.CreateModel(
                name='OrderItem',
                fields=[
                    ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                    ('tex1_no', models.PositiveIntegerField(default=1, verbose_name='Номер в каталоге')),
                    ('tex2_no', models.PositiveIntegerField(default=1, verbose_name='Номер в каталоге')),
    ...

    В моделях его не описывают, т.к. ORM это делает на автомате. Поле в явном виде присутствует, если посмотреть таблицу в mySQL. Короче, это OrderItem.id
    Это из терминала:
    [12/Jul/2025 15:25:02] "GET /static/orders/img/person-fill.png HTTP/1.1" 404 1938
    FORM is VALID!!!
    Internal Server Error: /orders/orders/items/29/create
    Traceback (most recent call last):
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\mysql\base.py", line 75, in execute
        return self.cursor.execute(query, args)
      File "D:\work\django\jasmin\.venv\lib\site-packages\MySQLdb\cursors.py", line 179, in execute
        res = self._query(mogrified_query)
      File "D:\work\django\jasmin\.venv\lib\site-packages\MySQLdb\cursors.py", line 330, in _query
        db.query(q)
      File "D:\work\django\jasmin\.venv\lib\site-packages\MySQLdb\connections.py", line 280, in query
        _mysql.connection.query(self, query)
    MySQLdb.IntegrityError: (1364, "Field 'order_item_id' doesn't have a default value")
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
        response = get_response(request)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\views\generic\base.py", line 104, in view
        return self.dispatch(request, *args, **kwargs)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\views\generic\base.py", line 143, in dispatch
        return handler(request, *args, **kwargs)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\views\generic\edit.py", line 184, in post
        return super().post(request, *args, **kwargs)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\views\generic\edit.py", line 153, in post
        return self.form_valid(form)
      File "D:\work\django\jasmin\orders\views.py", line 562, in form_valid
        return super().form_valid(form)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\views\generic\edit.py", line 135, in form_valid
        self.object = form.save()
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\forms\models.py", line 542, in save
        self.instance.save()
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\models\base.py", line 814, in save
        self.save_base(
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\models\base.py", line 877, in save_base
        updated = self._save_table(
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\models\base.py", line 1020, in _save_table
        results = self._do_insert(
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\models\base.py", line 1061, in _do_insert
        return manager._insert(
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\models\manager.py", line 87, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\models\query.py", line 1805, in _insert
        return query.get_compiler(using=using).execute_sql(returning_fields)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\models\sql\compiler.py", line 1822, in execute_sql
        cursor.execute(sql, params)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\utils.py", line 102, in execute
        return super().execute(sql, params)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\utils.py", line 67, in execute
        return self._execute_with_wrappers(
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\utils.py", line 80, in _execute_with_wrappers
        return executor(sql, params, many, context)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\utils.py", line 91, in __exit__
        raise dj_exc_value.with_traceback(traceback) from exc_value
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
      File "D:\work\django\jasmin\.venv\lib\site-packages\django\db\backends\mysql\base.py", line 75, in execute
        return self.cursor.execute(query, args)
      File "D:\work\django\jasmin\.venv\lib\site-packages\MySQLdb\cursors.py", line 179, in execute
        res = self._query(mogrified_query)
      File "D:\work\django\jasmin\.venv\lib\site-packages\MySQLdb\cursors.py", line 330, in _query
        db.query(q)
      File "D:\work\django\jasmin\.venv\lib\site-packages\MySQLdb\connections.py", line 280, in query
        _mysql.connection.query(self, query)
    django.db.utils.IntegrityError: (1364, "Field 'order_item_id' doesn't have a default value")
    [12/Jul/2025 15:25:03] "POST /orders/orders/items/29/create HTTP/1.1" 500 200776
    Написано
  • Как в шаблоне Dajngo поставить условие в цикле For?

    Beerenfeld
    @Beerenfeld Автор вопроса
    чёт ты неправильно вопрос прочитал. я не спрашивал, где мне искать документацию.
    Написано
  • Как динамически добавлять/удалять значения из связаной таблицы?

    Beerenfeld
    @Beerenfeld Автор вопроса
    Everything_is_bad, имелось в виду, как реализовать на Django
    Написано
  • Как в Django передать своё сообщения пользователю при обработке исключения ProtectedError?

    Beerenfeld
    @Beerenfeld Автор вопроса
    Мне терминал вот такую штуку написал: DeleteViewCustomDeleteWarning: DeleteView uses FormMixin to handle POST requests. As a consequence, any custom deletion logic in texDeleteView.delete() handler should be moved to form_valid().
    self = cls(**initkwargs)
    А как это в коде изобразить я не знаю.
    Написано
  • Как в Django передать своё сообщения пользователю при обработке исключения ProtectedError?

    Beerenfeld
    @Beerenfeld Автор вопроса
    Если дебаг включен, выдаёт всё в подробностях как положено, но не моё сообщение.
    Написано