Задачи по программированию
Тестовое задание (найдено на pyshop.ru)
Backend-разработчик на python (стажер)
- В примере кода продолжите функцию live_search() на Python таким образом, чтобы она возвращала список товаров (список объектов Product упакованные в JSON в произвольном формате) которые содержат строку q в полях sku, name или description в любом регистре символов.
from django.db import modelsclass Product(models.Model):
categories = models.ManyToManyField(Category,
related_name='products',
blank=True, verbose_name=u"категории")
related_products = models.ManyToManyField('Product',
blank=True,
verbose_name="связанные продукты")sku = models.CharField(u'артикул', max_length=128, validators=[validators.check_bad_symbols], unique=True)
price = models.DecimalField(u'цена', max_digits=12, decimal_places=4)
slug = models.SlugField(u'slug', max_length=80, db_index=True, unique=True)
name = models.CharField(u'название', max_length=128)
title = models.CharField(u'заголовок страницы (<title>)', max_length=256, blank=True)
description = models.TextField(u'описание', blank=True)def live_search(request, template_name="shop/livesearch_results.html"):
q = request.GET.get("q", "")
# ... - Разработайте юнит-тесты проверяющие корректность работы функции. Удалось ли найти какие-либо дефекты в этой функции, полагаясь на ее назначение исходя из описания? Учтите, что вопрос не на знание фреймворков тестирования и их применение, можете взять любой, или даже разработать ряд самостоятельных функций. def is_even(number):
''' Returns True if **number** is even or False if it is odd. '''
return number % 2 - Разработайте скрипт на Python, который будет выводить в консоль (STDOUT) информацию о предстоящих событиях анонсированных на главной странице python.org (Upcoming Events). Вывод информации оформите по своему усмотрению. Выбор библиотек на ваше усмотрение.