Вопрос новичка: Как я могу автоматически создать экземпляр модели в 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 Аризона 1050
- Проекция 1 Атланта 1020
и так далее?
это зависит от того, как вы создали проекцию.
если вы используете AddView
, то на form.valid вы можете добавить создание всех команд.
если вы используете ModelAdmin.Add
- вы можете сделать это в model_admin.save_model()
если вы сделали это в RawSQL
, то после создания Проекции вы можете сделать это
Я не знаю историю вашего проекта, чтобы ответить более правильно.