Как я могу автоматически заполнить поля ModelChoiceFields?
У меня есть три модели. Модель выглядит следующим образом.
models.py
class Post(models.Model):
title = models.CharField(max_length=50)
content = models.TextField()
category = models.ForeignKey(Category, null=True, blank=True, on_delete=models.SET_NULL)
subject = models.ForeignKey(Subject, null=True, blank=True, on_delete=models.SET_NULL)
class Category(models.Model):
name = models.CharField(max_length=30, unique=True)
slug = models.SlugField(max_length=20, unique=True, allow_unicode=True)
subject = models.ForeignKey(Subject, null=True, blank=False, on_delete=models.SET_NULL)
class Subject(models.Model):
name = models.CharField(max_length=10, unique=True)
slug = models.SlugField(max_length=20, unique=True, allow_unicode=True)
forms.py
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = ['title', 'category', 'subject', 'content']
widgets = {
'content': SummernoteWidget()
}
def __init__(self, *args, **kwargs):
super(PostForm, self).__init__(*args, **kwargs)
self.fields['title'].widget.attrs.update({'class': 'textInput form-control form_title', 'placeholder': '제목을 입력하세요'})
self.fields['category'].widget.attrs.update({'class': 'form-select form-control form_category'})
self.fields['subject'].widget.attrs.update({'class': 'form-select form-control form_subject'})
category = forms.ModelChoiceField(queryset=Category.objects.all(), empty_label='카테고리를 선택하세요')
В формах, поле 'subject' является ModelChoiceField и я хочу, чтобы поле 'subject' автоматически выбиралось в зависимости от значения, выбранного в 'category'