У меня есть две модели, одна наследует от другой. Оба являются таблицами базы данных. При создании экземпляра унаследованной модели я хочу, чтобы он имел то же значение pk, что и родительский. Но, по какой-то причине, похоже, что когда они имеют одинаковый pk, унаследованный экземпляр продолжает обновляться как родительские обновления.
Например:
class ModelA(models.Model):
id = models.UUIDField(default=uuid.uuid4, editable=False, db_index=True, unique=True, primary_key=True)
title = models.CharField(max_length=1000)
revision = models.IntegerField(default=0)
class ModelB(ModelA):
pass
При создании нового экземпляра ModelB, Я делаю это (копируя идентификатор):
model_a_dict = ModelA.objects.filter(id=model_a.id).values()[0]
model_b = ModelB(id=model_a_dict['id'], title=model_a_dict['title'], revision=model_a_dict['revision'])
model_b.save()
Теперь, при обновлении model_a, model_b также обновляется. Например:
model_a.title = "other title"
model_a.save()
, тогда model_b.title
также изменится.