Рассмотрим этот файл:
from django.db import models
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField(default=False)
serves_pizza = models.BooleanField(default=False)
Теперь предположим, что у меня есть Restaurant
с именем restaurant
. Но это место больше не ресторан, поэтому я хочу превратить его в место. Для этого я делаю:
p = Place.objects.get(pk=place_id)
p.restaurant.delete()
p.save()
Это хорошо работает, p
больше не ресторан, но происходит нечто странное: первичный ключ (ID) p
в таблице Place изменяется, как если Место было удалено, а затем воссоздано.
Почему это происходит? И как я могу преобразовать свой ресторан в место без изменения идентификатора места?