У меня есть ModelForm, где я исключил поле selected_season
. Модель выглядит следующим образом (показывает соответствующую часть):
class Registration(models.Model):
student_name = models.CharField(max_length=50)
selected_season = models.ForeignKey(Season, on_delete=models.CASCADE)
...
перед сохранением формы я пытался добавить это поле в:
if form.is_valid():
form.save(commit=False)
form.selected_season = '21'
form.save()
Но это показывает null value in column "selected_season_id" violates not-null constraint
Я добавил 21, потому что в моей таблице Сезонов есть 2 объекта: «21» и «22». Как это исправить?
РЕДАКТИРОВАТЬ
Модель сезона выглядит так:
class Season(models.Model):
season = models.CharField(max_length=2, primary_key=True)
subject = models.ManyToManyField(Subject)
running = models.BooleanField(default=False)
Первичный ключ не является id
, но атрибут season
. После того, как мне пришлось изменить ответ Правана:
if form.is_valid():
form.save(commit=False)
season=Season.objects.get(season=21)
form.selected_season = season
form.save()
, но проблема все еще остается.