Как я могу автоматически заполнить поля 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'

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