Я вручную показываю свой набор форм как таблицу, причем каждая форма зацикливается. В нижней части каждой формы I включает скрытые поля, такие как:django modelform property скрытое поле
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
Но проблема в том, что я также включая свойство в моей форме, как:
class AllocationForm(forms.ModelForm):
name = forms.CharField(widget=forms.TextInput(attrs={'size': '15'}))
def __init__(self, *args, **kwargs):
super(AllocationForm, self).__init__(*args, **kwargs)
if self.instance:
self.fields['total_budgeted'] = self.instance.total_budgeted()
self.fields['total_budgeted_account_percent'] = self.instance.total_budgeted_account_percent()
self.fields['actual_spent'] = self.instance.actual_spent()
self.fields['actual_spent_account_percent'] = self.instance.actual_spent_account_percent()
self.fields['total_budgeted_category_percent'] = self.instance.total_budgeted_category_percent()
self.fields['actual_spent_category_percent'] = self.instance.actual_spent_category_percent()
class Meta:
model = Allocation
exclude = {'created', 'modified', 'source_account'}
И это работает в том смысле, что я определенно увидеть вызываемые свойства, однако они отображаются как ничто, так что это еще одна проблема.
Проблема заключается в том, когда я сохраняю скрытые поля в шаблоне, я получаю такие ошибки, как объект «int», не имеет атрибута «get_bound_field» и т. Д. В зависимости от типа возвращаемого вызова свойства/метода.
Мой вопрос: first: есть ли проверка, которую я могу сделать, чтобы увидеть, является ли поле свойством в шаблоне и, следовательно, пропустить его? Возможно, это связано с тем, как я использую свойство, поскольку на самом деле каждое свойство ничего не отображает (но я вижу его обратный вызов), поэтому второй будет о том, как отображать свойства.