是否有可能更新字段並在保存時,它應該保存具有新更改的其他字段。更新模型字段和django中的任何其他字段
例如,我有下面的模型,
class Backup(models.Model):
user=models.ForeignKey(User)
title=models.CharField(max_length=200)
is_approve=models.BooleanField(default=False)
is_bad=models.BooleanField(default=False)
country=models.CharField(max_length=100)
現在,我的主要目的是隻是讓is_approve
場True
。我的第二個目標是更新is_approve
字段旁邊的其他字段,以便用戶在點擊模板中的approve
按鈕之前進行更改。
@staff_member_required
def activate_moderation(request, backup_id=None):
if id:
vpostmod=get_object_or_404(Backup, id=backup_id)
vpostmod.is_approve =1
vpostmod.save()
我怎麼能堵住所有領域的情況下,與旁邊的保存(),爲了在設置is_approve
爲True後進行更改。
更新到丹尼爾的問題
該模型有一個 '備份' 的ModelForm。這些表單通過Django管理員(BackupAdmin)使用相同的「備份」模型進行呈現。
我通過調用我的admin/app_name/modelname /文件夾中的change_form位置來傳遞我的按鈕鏈接。
def render_change_form(self, request, context, *args, **kwargs):
backup= self.get_object(request, self.backup_id)
context.update({'backup':backup})
return super(BackupAdmin, self).render_change_form(request, context, *args, **kwargs)
而改變表單模板是這樣的:
{% block submit_buttons_bottom %}
<div class="submit-row">
{% if backup.is_approve %}
<p>pass</p>
{% else %}
<a href="{% url 'activate_moderation' backup.id %}" class="historylink"> <input type="button" value="{% trans 'Approve' %}" name="_approvebutton" /></a>
<input type="button" value="{% trans 'Reject' %}" name="_rejectbutton" />
{% endif %}
</div>
{{ block.super }}
{% endblock %}
我無法理解你的問題,我害怕。您以與'is_approve'相同的方式更新其他字段。 –
感謝Daniel的評論。這是怎麼回事。用戶提交帖子,在上線前需要獲得工作人員的批准。工作人員查看在管理儀表板中提交的帖子,在員工點擊批准按鈕之前,他更改帖子的標題並單擊批准,該批准調用activate_moderation()函數。我的問題是,如何使員工在標題中添加的新更改反映在數據庫中。 activate_moderation()函數只會批准帖子,不會保存員工對其他字段所做的任何更改。你明白我的觀點了嗎? – YoYo
我想是這樣,但這裏沒有足夠的信息來回答這個問題。如何更新字段?有某種形式嗎?模板是什麼樣的?首先呈現模板的視圖是什麼? –