Кверисет из неродственной модели в методе __init__ modelform
У меня есть два класса моделей. Они не являются связанными моделями (нет отношений).
# models.py
class Model1(models.Model):
description = models.TextField()
option = models.CharField(max_length=64, blank=False)
def __str__(self):
return self.option
class Model2(models.Model):
name = models.CharField(max_length=64, blank=False)
def __str__(self):
return self.name
У меня есть соответствующая форма, из которой я отправляю и сохраняю данные в моей таблице. Я хочу использовать данные Model2 для заполнения поля 'option' в качестве поля select, поэтому я ввожу следующий метод init.
# forms.py
class Model1Form(forms.ModelForm):
def __init__(self, *args, **kwargs):
all_options = Model2.objects.all()
super(Model1Form, self).__init__(*args, **kwargs)
self.fields['option'].queryset = all_options
class Meta:
model = Model1
fields = ('description', 'option')
На моем шаблоне выпадающий список не отображается, поэтому я задаюсь вопросом, правильный ли это способ решения проблемы (признавая, что модели не связаны друг с другом).