Вопрос новичка: Как я могу автоматически создать экземпляр модели в Django?

Привет Я довольно новичок во всем этом, так что извините, если я не очень хорошо объясняю. Я хочу создать модель, в которой я могу делать некоторые футбольные прогнозы, пока что у меня есть:

class Team(models.Model):
    name = models.CharField(max_length=20)
    name_short= models.CharField(max_length=3)

    def __str__(self):
        return self.name_short

class Projection(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="projection", null=True)
    title= models.CharField(max_length=20, blank=False)

    def __str__(self):
        return self.title
    
    def get_absolute_url(self):
        return reverse('projection-detail', kwargs={'pk': self.pk})


class TeamProjection(models.Model):
    title = models.ForeignKey(Projection, on_delete=models.CASCADE)
    team = models.OneToOneField(Team, on_delete=models.CASCADE)
    total_plays = models.IntegerField(null=True, blank=True)

Я пытаюсь сделать следующее: когда вы создаете новую проекцию, она автоматически создает экземпляр проекции Team для каждой команды в Team Model.

Таким образом, это будет что-то вроде:

  1. Проекция 1 Аризона 1050
  2. Проекция 1 Атланта 1020

и так далее?

это зависит от того, как вы создали проекцию.

если вы используете AddView, то на form.valid вы можете добавить создание всех команд. если вы используете ModelAdmin.Add - вы можете сделать это в model_admin.save_model() если вы сделали это в RawSQL, то после создания Проекции вы можете сделать это

Я не знаю историю вашего проекта, чтобы ответить более правильно.

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