我想做一个看板表(项目管理),但我没有想法如何在删除任务后(例如从待办事项到正在进行中)保存数据库中的修改。 这就是我的模型看起来
class Task(models.Model):
TODO = 1
INPROGRESS = 2
DONE = 3
STATUS_TYPES = (
(TODO, 'To do'),
(INPROGRESS, 'In progress'),
(DONE, 'Done'),
)
taskid = models.AutoField(primary_key=True,default = increment_booking_number)
projectcode = models.ForeignKey('Project', models.DO_NOTHING, db_column='projectid')
taskname = models.CharField(max_length=100)
taskdescription = models.TextField(max_length=500, blank=True, null=True)
task_status = models.PositiveSmallIntegerField(choices = STATUS_TYPES, blank=True, null=True)
这是我拖放的javascript: https://paste.fedoraproject.org/paste/pAcECud8nRItO5nJefYF0w
请帮忙吗?
答案 0 :(得分:0)
我建议您使用AJAX来实现目标,原因是您可能不希望每次刷新页面。
当然,下面的代码是为了让您了解它应该如何工作,但您必须根据自己的JavaScript对其进行一些修改。
#You might have a different drop trigger, configure to your need.
$(document).on('drop', '.your_dropped_task', function(e){
$.ajax({
type:'POST',
url:'/your_url/',
data:{
#You probably store your drop status on your dropped task.
#You'll have to fetch it.
task_status:$('this_dropped_task_new_val').val(),
csrfmiddlewaretoken:$('#your_form input[name=csrfmiddlewaretoken]').val(),
},
});
});
这很粗糙,但这肯定会让你知道你必须做什么。