Обеспечивает ли django уникальность первичного ключа?
Документация здесь выглядит предложить так, но когда я определяю класс как:
class Site(models.Model):
id = models.IntegerField(primary_key=True)
и проверьте это ограничение в тестовом примере:
class SiteTestCase(TestCase):
def setUp(self):
self.site = Site(id=0, name='Site')
self.site.save()
def tearDown(self):
self.site.delete()
def test_unique_id(self):
with self.assertRaises(IntegrityError):
badSite = Site(id=0, name='Bad Site')
badSite.save()
badSite.delete()
тест не проходит.
Если я проверяю нормальное поле (primary_key=False, unique=True), то исключение возникает правильно. Установка unique=True в поле id не меняет результат.
Есть ли что-то в полях primary_key, которые мне здесь не хватает?
Моя база данных — это MySQL, если это уместно.