0
Nation
モデルIDをDjango管理者change_form
に渡したいので、編集時にボタンを2つ表示することができます。 idをrender_change_form関数に渡してみて、テンプレートを完成させようとしましたが、以下のエラーが発生しています。ID属性エラー変更フォームのDjango管理者
'NationAdmin' object has no attribute 'nation_id'
N:これは編集するときに正常に動作しますが、私はDjangoの管理ダッシュボードを経由して新しいモデルオブジェクトを追加したいときには、このエラーがスローされますBでは。
方法はNationAdmin
#this method is to get the id
def change_view(self, request, nation_id=None, form_url='', extra_context=None):
self.nation_id = nation_id
return self.changeform_view(request, nation_id, form_url, extra_context)
#for form
def render_change_form(self, request, context, *args, **kwargs):
if self.nation_id: #django is telling me this line is causing error
nation= self.get_object(request, self.nation_id)
context.update({'nation':nation})
return super(NationAdmin, self).render_change_form(request, context, *args, **kwargs)
Change_form.html
{% if not nation.is_moderated and not nation.is_rejected %}
<a href="{% url 'activate_moderation' nation.id %}"> <input type="button" value="{% trans 'Approve' %}" name="_approvebutton" /></a>
{% endif %}
大丈夫..「オリジナル」はどこに入っていますか?モデル管理者のキーワード – YoYo
そのキーワードはあなたが変更しているオブジェクトになるadminで使用しています。新しいオブジェクトを追加する場合は、Noneになります。それで私は条件を置く理由を – itzMEonTV
私はそれを試してみましょう。ありがとう! – YoYo