从Django中的模板更新多个对象

从Django中的模板更新多个对象,django,Django,以前可能有人问过,但我找不到链接 我对Django只有一天是完全陌生的,所以你们可能想给我提供给新手的链接 我试图让人们对他们在不同地方吃过的菜进行投票。我有一份菜品和餐馆的清单。现在,我希望用户将这道菜连接到餐厅,并对这道菜进行评分。我从DB中以分页的形式一次挑选三道菜,并将它们展示给用户,并要求用户输入每道菜的3家餐厅以及他的评分。我正在使用由我的设计师编写的自定义HTML和CSS。UI看起来像这样: 现在我在一个页面上只有一个保存按钮。用户可能只进入一家餐厅或全部三家餐厅,也可能不会为任何

以前可能有人问过,但我找不到链接

我对Django只有一天是完全陌生的,所以你们可能想给我提供给新手的链接

我试图让人们对他们在不同地方吃过的菜进行投票。我有一份菜品和餐馆的清单。现在,我希望用户将这道菜连接到餐厅,并对这道菜进行评分。我从DB中以分页的形式一次挑选三道菜,并将它们展示给用户,并要求用户输入每道菜的3家餐厅以及他的评分。我正在使用由我的设计师编写的自定义HTML和CSS。UI看起来像这样:

现在我在一个页面上只有一个保存按钮。用户可能只进入一家餐厅或全部三家餐厅,也可能不会为任何一道菜输入任何内容

我的观点定义如下:

    from django.db import models

class Restaurant(models.Model):
    name = models.CharField(max_length=100)
    add_line1 = models.CharField('Address Line 1', max_length=150, null=True, blank=True)
    add_line2 = models.CharField('Address Line 2', max_length=150, null=True, blank=True)
    area = models.CharField(max_length=50)
    city = models.CharField(max_length=15)
    phone = models.CharField(max_length=15, null=True, blank=True)
    comments = models.CharField(max_length=140, null=True, blank=True)
    website = models.CharField(max_length=100, null=True, blank=True)

    def __unicode__(self):
        return self.name


class Dish(models.Model):
    name = models.CharField(max_length=100)
    cuisine = models.CharField(max_length=40, null=True, blank=True)

    def __unicode__(self):
        return self.name


class Menu(models.Model):
    name = models.CharField(max_length=100)
    rating = models.IntegerField()
    price = models.IntegerField(null=True, blank=True)
    restaurant = models.ForeignKey(Restaurant)
    dish = models.ForeignKey(Dish)

    def __unicode__(self):
        return self.name
我刚刚写了一个展示菜肴的视图

from DishoomIt.models import Dish
from django.shortcuts import render_to_response
from django.core.paginator import Paginator, EmptyPage, InvalidPage


def index(request):
    dishes_list = Dish.objects.all().order_by('name')
    paginator = Paginator(dishes_list, 3)
    try:
        page = int(request.GET.get('page', '1'))
    except:
        page = 1

    try:
        dishes = paginator.page(page)
    except(EmptyPage, InvalidPage):
        dishes = paginator.page(paginator.num_pages)


    return render_to_response('dishoom_templates/index.html', {'dishes':dishes, 'num_pages': [1, 2, 3, 4, 5]})
在模板方面,我使用for循环在一个页面上显示三个盘子

现在我的问题是,当用户在这些字段中输入值并点击保存按钮时,如何一次更新所有对象

我读过关于保存一个项目的内容,但我完全不知道如何传递多个对象并保存


谢谢。

请查看位于的django文档。它们在这方面非常有用。

非常感谢!当你只有一天的时间去学习,还有一天的时间去生活时,像你这样的人就是救生员:另请参见