Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 15, 2006 23:19:04

Slp
От:
Зарегистрирован: 2006-05-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

db-API и первое созданное приложение

есть две модели:

#– категории
class Category(models.Model):
name = models.CharField('название', maxlength=50)

def __str__(self):
return self.name

class Meta:
verbose_name = ‘Категория’
verbose_name_plural = ‘Категории’
ordering = ('name',)

class Admin:
pass

#– курсы
class Course(models.Model):
name = models.CharField('название', maxlength=100)
category = models.ForeignKey(Category, verbose_name='категория')
text = models.TextField('текст')

def __str__(self):
return self.name

class Meta:
verbose_name = ‘Курс’
verbose_name_plural = ‘Курсы’
ordering = ('name',)

class Admin:
pass


1. Получить все курсы отсортированные по категориям, вот в таком формате:

Категория_название
Курс_название
2. Получить заданный курс в заданной категории

в views.py пишу следующие:

from django.shortcuts import render_to_response
#from django.http import HttpResponse
from mysite.courses.models import Category, Course

#– гл. страница, отображение курсов по категориям
def index(request):
groupcourses =
for cat in Category.objects.all():
c = {'category': cat, ‘courses’: cat.course_set.all()}
groupcourses.append©
#return render_to_response('base.html', locals())
return render_to_response('base.html', {'groupcourses': groupcourses})

#– отображение заданного курса из заданной категории
def course(request, categoryid, courseid):
course = Category.objects.get(pk=categoryid).course_set.get(pk=courseid)
return render_to_response('base2.html', {'course': course})

меня интересует следующие, правильно ли составлены запросы? можно ли как-то это делать оптимизировать? какие есть ошибки (не только в запросах к БД =)) вообщем ваше мнение!

P.S. Хочется разобраться с этим на начальном этапе изучения фреймворка, а не тянуть на протяжение всего использования =)



Отредактировано (Дек. 15, 2006 23:22:53)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version