Как скопировать модель в Django с небольшими различиями в Meta с помощью функции? - PullRequest
0 голосов
/ 10 июля 2019

У меня есть проект Django, в котором много моделей и много связей.У меня есть работа по созданию новой модели с другим именем и метаданной db_table с помощью функции, у которой есть параметр для модели, который будет скопирован.Я должен изменить ManyToMany и ForeignKey ссылки на вновь созданные / созданные новые модели.

Я пробовал DynamicModels в Django с типом (name, (models.Model,), attrs), но после некоторой попыткиОшибка атрибута is_relation.Функция create_model будет использоваться для этого действия.

Class C(models.Model):
  q = models.CharField(max_length=20)

  def __str__(self):
    return self.q

Class A(models.Model):
  x = models.CharField(max_length=20)
  y = models.DateTimeField(auto_now_add=True)

Class B(models.Model):
  z = models.ForeignKey(A)
  t = models.ManyToManyField(C)
  w = models.DateTimeField(auto_now_add=True)

def create_model(model):
  pass

У меня есть такие классы, которые я описал вкратце.Я должен создать новые классы, такие как C1, A1, B1 с другой db_table metas.Кроме того, я должен изменить поля ForeignKey и ManyToMany на A1 и C1.

Я могу добавить свою функцию create_model, если вы запросите ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...