基本上我想要实现的是一个多模型 django 应用程序,其中不同的模型利用相同的视图。例如,我有模型“汽车”“制造”“模型”等,我想构建一个视图来为每个视图执行相同的任务,例如添加、删除和编辑,所以我不必创建一个单独的视图,用于添加汽车、屁股制造等。我已经为每个构建了一个 ModelForm 和 Model 对象,并且希望在添加时创建一个空白对象,并在编辑时创建一个预填充的表单对象(通过表单实例 arg),通过 url 参数确定的对象。
我被困的地方是我不确定最好的方法是什么。目前,我正在使用大量 if 语句根据我提供的参数返回所需的对象或表单,当需要指定不同的表单以及它们是否需要实例时,这有点棘手。尽管这似乎远非实现这一目标的最有效方式。
Django 似乎具有涵盖大多数重复性任务的功能,我在这里缺少一些魔法吗?
编辑 - 这是我对传递到 url 的参数所做的一个示例:
def edit_object(request, object, id):
if(object==car):
form = carForm(instance = Car.objects.get(pk=id)
return render(request, 'template.html', {'form':form})