Кто-нибудь знает, как я могу добавить отдельные элементы entangled_field в свою форму? Вот мой код, я объясню ниже (в форме. html), где у меня возникают проблемы.
models.py
class Project(Model):
"""Project Data"""
eeg = JSONField()
meg = JSONField()
forms.py
class ProjectForm(EntangledModelForm):
"""HTML form for Project objects
https://github.com/jrief/django-entangled"""
nosessions = IntegerField(required=False)
sessionduration = IntegerField(required=False)
hoursrequired = IntegerField(required=False)
esthourspermonth = IntegerField(required=False)
class Meta:
model = Project
entangled_fields = {
"eeg": [
"nosessions",
"sessionduration",
"hoursrequired",
"esthourspermonth",
],
"meg": [
"nosessions",
"sessionduration",
"hoursrequired",
"esthourspermonth",
],
}
untangled_fields = [..working fields..]
views.py
class ProjectCreate(LoginRequiredMixin, CreateView):
"""Create new Projects via HTML form"""
form_class = ProjectForm
model = Project
template_name = "project/form.html"
extra_context = {"update": False}
login_url = "/account/login/"
Django object
proj112 = Project.objects.get(name='112_test')
for k,v in proj112.eeg.items():
print(k,v)
nosessions 5
hoursrequired 10
sessionduration 2
esthourspermonth 10
for k,v in proj112.meg.items():
print(k,v)
nosessions 10
hoursrequired 20
sessionduration 2
esthourspermonth 20
proj112.meg['nosessions'] # returns the value as expected
proj112.meg.nosessions # returns AttributeError: 'dict' object has no attribute 'nosessions' so I understand why it's not passed to jinja
detail. html - Я могу успешно получить доступ / перечислить ключи и значения для 'eeg' и 'meg' после их создания (вручную через API или базу данных).
<table>
<b>EEG</b>
{% for key,value in project.eeg.items %}
<tr>
<td>{{key}}</td><td>{{value}}</td>
</tr>
{% endfor %}
</table>
<table>
<b>MEG</b>
{% for key,value in project.meg.items %}
<tr>
<td>{{key}}</td><td>{{value}}</td>
</tr>
{% endfor %}
</table>
form. html - Это поле отображает правильно, но вставляет данные как 'eeg', так и 'meg'.
{{ form.nosessions|as_crispy_field }}
Я хочу ссылаться на них отдельно, так как у меня намного больше, чем meg и Например,
{{ form.eeg.nosessions|as_crispy_field }}
Правильно ли я поступаю?
Заранее большое спасибо