之前可能会被问过,但我找不到链接。
我是Django的新手(仅1天),所以你们可能想要为我提供新手的链接。
我想让人们对他们在不同地方吃过的菜肴投票。我有一系列的菜肴和餐馆。现在我希望用户将菜肴连接到餐厅并为菜肴评分。我正在从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循环在一个页面上显示三个菜肴
现在我的问题是,当用户在这些字段中输入值并点击“保存”按钮时,如何一次更新所有对象?
我已经阅读过关于保存一个项目的内容,但我对如何传递多个对象并保存完全感到困惑。
感谢。