Я пытаюсь создать карт Django ORM, совместимый с существующим моделью данных , поэтому я пытаюсь работать с существующим набором таблицы и имен столбцов.
У меня есть ситуация на наследстве много столов, где информация о классе вытекает из объекта класса. Я хотел бы позволить Django справиться с этим обычным способом:
class Object(models.Model):
class Meta:
db_table = "object"
class InformationObject(Object):
class Meta:
db_table = "information_object"
в этом случае django автоматически создаст однозначное поле на наследственную модель Object_ptr_id . Однако на схеме я ограничивался использовать, ссылка на объект просто называется «ID». Итак:
Есть ли способ каким-то образом указать имя столбца Django Auto magiciany использует для многоболкового наследования?
альтернатива, которую мне придется использовать в противном случае, - это использовать явную Поле в одно поле, но тогда я не смогу наследовать методы без баз данных из модели объекта:
class Object(models.Model):
class Meta:
db_table = "object"
class InformationObject(models.Model):
class Meta:
db_table = "information_object"
id = models.OneToOneField(Object, primary_key=True, db_column="id")
любые идеи? Может быть, я мог бы создать общий базовый класс для них обоих, и поставить там методы без БД ...?