Добавить поля ModelForm в качестве атрибута объекта
У меня есть ModelForm для моего риска, настроенный как:
class RiskForm(forms.ModelForm):
class Meta:
model = Risk
fields = '__all__'
def __init__(self, *args, **kwargs):
progid = kwargs.pop('progid')
super(RiskForm, self).__init__(*args,**kwargs)
dict_of_fields = {}
all_char = Program.objects.get(id=progid).char_set.all()
for char in all_char:
c = []
for cat in char.cat_set.all():
c.append( (cat.label, cat.label) )
dict_of_fields[char.label] = c
self.fields[char.label] = forms.ChoiceField(c)
Где объект риска определяется как:
class Risk(models.Model):
program = models.ForeignKey(Program, on_delete=models.CASCADE)
label = models.CharField(max_length=200, default='')
def __str__(self):
return self.label
Однако я хочу сохранить дополнительные поля, которые я создал, в моей базе данных под моим объектом Risk. Как у меня сейчас, он хранит только два атрибута «программа» и «метка». Тем не менее, я также хочу сохранить ответы на характеристики в моей базе данных для последующего использования.
Для получения дополнительной информации о том, как я настроил вещи:Форма Джанго, основанная на переменных атрибутах
И экран печати моей ModelForm:https://gyazo.com/89c9833613dbcc7e8d27cc23a3abaf72
Можно ли сохранить все 6 ответов под моим объектом риска в моей базе данных? Если да, то как мне это сделать?