Почему я должен явно указывать первичный ключ, в то время как он указан в моей модели AutoField? - PullRequest
0 голосов
/ 11 июля 2019

У меня есть очень простая таблица Oracle с именем TestJbl с двумя полями:

ID (число, а не NULLABLE), который является первичным ключом.ДАННЫЕ (varchar2, NULLABLE).

Я хочу иметь возможность вставлять DATAS без указания столбца идентификатора.

Моя проблема: в моей модели для Eventhough ID явно задано значение AutoField (primary_key = True), как вы можете видетьниже:

class TestJbl(models.Model):
    id = models.AutoField(primary_key=True)
    datas = models.CharField(max_length=45, blank=True)
    class Meta:
        db_table = 'test_jbl'

, когда я пытаюсь:

>>> a = TestJbl(datas='A')
>>> a.save()

Я получил ошибку Oracle:

django.db.utils.IntegrityError: ORA-01400: cannot insert NULL into ("RTDIAG"."TEST_JBL"."ID")

Почему это так?AutoField не должен автоматически делать отступ для моего первичного ключа?

Примечание: я использую Python 2.6.6 и Django 1.5.5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...