0
Привет всем иметь структуру объектовАнализировать QuerySet в шаблонах
userfavs = UserFavs.objects.filter(
user_id=self.request.user.id)
- userfavs
- блюдо (ID = 3)
- магазин (ID = 1)
- блюдо (id = 30)
- магазин (ID = 2)
- тарелки (ID = 5)
- магазин (ID = 1)
- тарелки (ID = 15)
- (id = 2)
- блюдо (ID = 3)
в шаблоне я должен иметь
- магазин (1) - магазин (2)
- тарелки (3) - блюдо (15)
- тарелки (5) - блюдо (30)
Я не могу понять, как я должен перестроиться запрос набор для отдавания урожденная результат? Может у меня помочь?
class UserFavs(models.Model):
user = models.ForeignKey(RegModel, verbose_name=u'Пользователь',
related_name="userreg", null=True)
dish = models.ForeignKey(Dish, verbose_name=u'Блюдо',
related_name="favsdish", null=True)
class Dish(models.Model):
criterion_list = (
('1', u'Блюдо без мяса'),
('2', u'Острое блюдо'),
('3', u'Здоровое питание'),
('4', u'Акция'),
('5', u'Блюдо сезона'),
('6', u'Блюдо дня'),
('7', u'Ваше любимое блюдо'),
('8', u'Еда за баллы'))
name = models.CharField(max_length=255, verbose_name=u'Название')
criterion_first = models.CharField(max_length=255, blank=True,
null=True,
choices=criterion_list,
verbose_name=u'Критерий 1')
criterion_second = models.CharField(max_length=255, blank=True,
null=True,
choices=criterion_list,
verbose_name=u'Критерий 2')
price = models.FloatField(max_length=255, verbose_name=u'Цена',
default=0, blank=True, null=True)
weight = models.CharField(max_length=255, verbose_name=u'Вес',
blank=True, null=True)
description = models.TextField(max_length=3000,
verbose_name=u'Описание',
blank=True, null=True)
points_price = models.IntegerField(verbose_name=u'Цена за баллы',
default=0, blank=True, null=True)
is_points = models.BooleanField(verbose_name=u'Еда за баллы',
default=False, blank=True)
is_recom = models.BooleanField(verbose_name=u'В рекомендациях?',
default=True, blank=True)
sale = models.IntegerField(verbose_name=u'Скидка',
blank=True, null=True)
is_active = models.BooleanField(verbose_name=u'Блюдо активно?',
default=True, blank=True)
shop = models.ForeignKey(Shop, verbose_name=u'Заведение',
related_name="dishshop")
def __unicode__(self):
return u'%s' % (self.name)
class Shop(models.Model):
name = models.CharField(max_length=255, verbose_name=u'Название')
time_begin = models.TimeField(max_length=255,
verbose_name=u'Время начала работы')
time_end = models.TimeField(max_length=255,
verbose_name=u'Время окончания работы')
phone = models.CharField(max_length=255, verbose_name=u'Телефон')
preview = models.FileField(upload_to='files/shop/preview')
delivery_price = models.IntegerField(verbose_name=u'Стоимость доставки')
min_order = models.IntegerField(verbose_name=u'Минимальный заказ')
del_wait_time = models.IntegerField(verbose_name=u'Время доставки минут')
is_always = models.BooleanField(verbose_name=u'Круглосуточно?',
default=True, blank=True)
is_cash = models.BooleanField(verbose_name=u'Наличными',
default=True, blank=True)
is_card = models.BooleanField(verbose_name=u'Картой курьеру',
default=True, blank=True)
is_online = models.BooleanField(verbose_name=u'Онлайн-оплата',
default=True, blank=True)
is_points = models.BooleanField(verbose_name=u'Еда за баллы',
default=True, blank=True)
notification = models.CharField(max_length=255,
verbose_name=u'Важное уведомление',
blank=True, null=True)
email = models.CharField(max_length=255, verbose_name=u'E-mail')
rate = models.FloatField(max_length=255, verbose_name=u'Рейтинг')
destination = models.CharField(max_length=255,
verbose_name=u'Местоположение')
specific = models.CharField(max_length=255,
verbose_name=u'Специализация ресторана')
description = models.TextField(max_length=3000,
verbose_name=u'Описание')
cook = models.CharField(max_length=255, verbose_name=u'Имя повара')
image_cook = models.FileField(upload_to='files/shop/cook')
desc_cook = models.TextField(max_length=3000,
verbose_name=u'Описание повара')
shoptype = models.ForeignKey(ShopType, verbose_name=u'Тип заведения',
related_name="shop")
slider = models.ForeignKey(Slider, verbose_name=u'Слайдер',
related_name="slider")
def __unicode__(self):
return u'%s' % (self.name)
Можете ли вы показать свою модель UserFavs? – mxle
yeap. сделанный? я вижу это в вопросе –
Да, спасибо, я вижу. Я не могу понять, почему вы делаете блюдо (3) - блюдо (15), а не блюдо (3) - блюдо (30). Почему вы группируете их так? У них есть одно и то же название? – mxle