Могу ли я иметь две одинаковые модели, указывающие на одну и ту же таблицу в 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?

Вернуться на верх