Могу ли я иметь две одинаковые модели, указывающие на одну и ту же таблицу в django?
пытаясь разделить часть (под названием A) монолита django (под названием B), я решил добавить новый модуль к моему монолиту и перенести туда весь код, связанный с A. В будущем этот модуль будет извлечен в совершенно новую систему.
и A, и B используют class City(models.Model)
, поэтому, пока я занимаюсь перемещением служб и помощников, я хотел иметь внутри A модель города только для чтения, чтобы изолировать A от всего, что связано с городом B.
имея B/some_path/city.py
, я создал новую модель A/another_path/city.py
со следующим дополнением:
class Meta:
managed = False
db_table = 'city'
пытаясь проверить, все ли работает, я заметил, что ./manage.py migrate
выдает несколько ошибок, таких как
?: (models.E030) index name 'city_column_name_index' is not unique among models: A.City, B.city.
где city_column_name_index
было объявлено внутри миграции:
migrations.AddIndex(
model_name='city',
index=models.Index(fields=['column_name'],name='city_column_name_index'),
),
Как мне иметь копию модели города, чтобы использовать ее внутри A, не портя B?